我需要制作一个表单来提交多个选项之一,并且我需要使用react-redux,所以我不能使用本地状态来更改所选的选项
该应用确实可以正常工作(这意味着componentdidmount可以正常工作),但是如果选择其中一个,我会得到TypeError: Cannot read property 'props' of undefined
componentDidMount() {
this.props.setModelSelector(data)
}
handleChange(event) {
this.props.selectCar(event.target.value)//the function doesn't get called
//this.props.setModelSelector(data)
event.preventDefault();
}
handleChange(event) {
//this.props.selectCar(event.target.value)
this.props.setModelSelector(data)//Even if i run the same function of componentDidMount i get the same error
event.preventDefault();
}
我还检查了event.target.value
确实包含我需要更改形式显示的值的字符串
TypeError: Cannot read property 'props' of undefined
handleChange
src/components/ModelDetailsContainer.js:40
37 |
38 | handleChange(event) {
39 | // this.props.selectCar(event.target.value)
> 40 | this.props.setModelSelector(data)
| ^ 41 | event.preventDefault();
42 | }
43 |
答案 0 :(得分:1)
this
在事件处理程序中反弹。将handleChange(event) {
更改为handleChange = event => {
,或在构造函数中执行this.handleChange = this.handleChange.bind(this);
。