1
这是我的组件无法读取的未定义的属性“toObject”当试图调用FUNC财产
class MyComponent extends Component {
render() {
const { action } = this.props;
action();
return (<div>Done!</div>);
}
MyComponent.propTypes = {
action: PropTypes.func.isRequired
}
这里是一个容器的相关代码:
doSomething() {
...
}
render() {
return (
<MyComponent
action={doSomething}
/>
)
}
当我打开这段代码在浏览器中,我得到了这个错误信息:
Uncaught TypeError: Cannot read property 'toObject' of undefined
业务逻辑应该活在容器中,所以我不想警察y并将action
的代码粘贴到MyComponent
中。
所以我的问题是:如何在render
方法中直接调用通过属性传入的函数?
PLS显示action'的'代码。错误似乎发生在'action'内,这意味着'action'被调用。 – Panther
@Ved如何操作this.props,他使用的是{action} = this.props',这就是所谓的'destructuring',该语法是正确的。 –
@Panther你是对的。这个异常是在'action'函数内引发的。直到我将一个调试器语句放入函数中,它才从栈跟踪中显而易见。请让你的评论成为答案,我会接受。 –