错误:TypeError:_this.props.handleChange不是函数
我有一个React组件,该组件具有另一个视图组件中使用的prop方法。
问题是我的其他视图组件需要使用我的Child组件,但是由于使用prop方法是必需的,因此会导致错误。
class NeedsPropMethod extends Component {
handleChange = value => {
// receives the value
}
return (
<Child toy="car" color="blue" handleChange={this.handleChange}>
)
}
class DoesntNeedPropMethod extends Component {
return (
<Child toy="car" color="blue"}>
)
}
class Child extends Component {
return (
this.props.toy; // "car"
this.props.color; // "blue"
this.props.handleChange(value) // I do not need this but it gives me the error above
);
}
答案 0 :(得分:0)
您可以像这样将propTypes添加到代码中,以使其成为可选
Child.propTypes = {
handleChange: PropTypes.func
};
所以您的handleChange将是可选的
答案 1 :(得分:-1)
从吴彦祖的答案中
Child.propTypes = {
handleChange: PropTypes.func
};
然后您只需检查是否使用了prop方法
if (this.props.handleChange) {
// do stuff here
}