作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将数据从 child 传递给 parent ,但是我被抛出异常this.props.filterUser 不是一个函数
我引用的是: ReactJS with ES6: this.props is not a function when I communicate two components
未捕获类型错误:this.props.filterUser 不是函数
class Mobile extends React.Component {
constructor() {
super();
this.legendBtnHandler = this.legendBtnHandler.bind(this);
this.state = {
mobileExtentions: '',
legendInfo: '',
buttonName: 'test'
}
};
componentWillMount(){
const listItems = mobileExt.map((ext) =>
<p>
<RaisedButton label={ext.name} secondary={true} id="mobileBtn" onClick={() => this.legendBtnHandler(ext.name)}/>
</p>
);
this.setState({mobileExtentions: listItems});
};
legendBtnHandler(btnName){
this.setState({buttonName: btnName});
Store.buttonName = btnName;
this.props.filterUser("test");
};
render(){
const dragHandlers = {onStart: this.onStart, onStop: this.onStop};
return(
<div>
<DraggableCard
mobileExtentions = { this.state.mobileExtentions }
legendInfo = { mobileExt[0].legendInfo }
/>
</div>
)
}
};
父级
class MapClass extends React.Component {
constructor(props) {
super(props);
this.filterUser = this.filterUser.bind(this);
this.state = {
filter: ''
//btnName: Legend.props.test
}
}
filterUser(filterValue){
alert(filterValue)
this.setState({
filter: filterValue
});
}
render(){
return(
<Mobile filterUser={this.filterUser}/>
)
}
}
最佳答案
尝试函数的箭头语法,它将让您访问正确的上下文
像legendBtnHandler = btnName => this.props.filterUser("test");
关于javascript - this.props.filterUser 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48820967/
我正在尝试将数据从 child 传递给 parent ,但是我被抛出异常this.props.filterUser 不是一个函数 我引用的是: ReactJS with ES6: this.props
我是一名优秀的程序员,十分优秀!