React props={this.refs.something} undefined
React props={this.refs.something} undefined
我的APP中有一个<Modal/>
组件。
Modal有两种方法show()
和hide()
,其中我更改组件的状态。
在我的应用程序中,我有:
<App>
<Modal ref="modal"/>
<Menu openModal={this.refs.modal.show}/>
</App>
但在菜单中this.props.openModal
是未定义的。
有人能解释一下原因吗?
这可能是因为在渲染时,this.refs.modal尚未定义。
您应该做的是在应用程序组件上设置一些状态,然后回调以更改该状态,并将其作为道具传递给Modal。
getInitialState: function() {
return {modalOpen: false};
},
setModalOpen: function(open) {
this.setState({modalOpen: false});
}
...
render: function () {
return (
<App>
<Modal open={this.state.modalOpen} setOpen={this.setModalOpen}/>
<Menu openModal={this.setModalOpen}/>
</App>
);
}
然后,您可以将模态的状态读取为道具,但也要注意,模态组件应该使用回调来设置应用程序组件的状态,并且只使用道具,而不是用它自己的内部状态覆盖它。
相关文章:
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- /undefined在我的404错误日志中多次出现
- RequireJS向模块传递配置总是返回undefined
- JSON数组数据返回Undefined
- 为什么会出现错误,“UncaughtTypeError:undefined不是函数”
- 这.SOMETHING 总是返回未定义的 - extjs
- Array.lenght = undefined
- mongoose.connect undefined不是一个函数
- JavaScript”;.方法“;返回undefined
- Uncaught TypeError:undefined不是函数-ember js
- Jquery - table.row(tr) is undefined
- jQuery可以't获取data-*属性值,返回undefined
- noty.js is returning undefined
- 将对象的列表c#传递给javascript:undefined变量时出错
- $routeParams is undefined
- 试图打印/调用/或提醒数组中的对象:Getting Undefined
- jQuery Mobile Undefined不是一个函数
- React props={this.refs.something} undefined
- this.refs.something returns "undefined"
- this.ref .something.value在react中返回undefined