Javascript 如何从子组件更改父状态?
我正在学习react.js,并尝试执行以下操作: 我有NumberBox组件和NumberLink子组件 NumberBox具有Javascript 如何从子组件更改父状态?,javascript,reactjs,this,Javascript,Reactjs,This,我正在学习react.js,并尝试执行以下操作: 我有NumberBox组件和NumberLink子组件 NumberBox具有val状态 NumberLink具有val属性 当我单击NumberLink时,我想将NumberBox状态更改为link的val属性,但在控制台中我得到: 未捕获类型错误:this.props.onNumberLinkClick不是函数 你能告诉我我做错了什么吗? 下面是代码:您正在传递的未定义的用于onNumberLinkClick属性 在执行回调时,使用第二个参数
val
状态
NumberLink具有val
属性
当我单击NumberLink时,我想将NumberBox状态更改为link的val
属性,但在控制台中我得到:
未捕获类型错误:this.props.onNumberLinkClick不是函数
你能告诉我我做错了什么吗?
下面是代码:您正在传递的
未定义的用于onNumberLinkClick
属性
在执行回调时,使用第二个参数提供此
值:
var numberLinks = this.props.data.map(function (number) {
return (
<NumberLink val={number} key={number} onNumberLinkClick={this.handleNumberLinkClick}/>
);
}, this)
您正在传递undefined
以获取onNumberLinkClick
prop
在执行回调时,使用第二个参数提供此
值:
var numberLinks = this.props.data.map(function (number) {
return (
<NumberLink val={number} key={number} onNumberLinkClick={this.handleNumberLinkClick}/>
);
}, this)
您在handleNumber链接单击功能中设置的状态也是错误的
this.setState({val:number})
应该是this.setState({number:val})
您在handleNumberLinkClick
功能中设置的状态也是错误的
this.setState({val:number})
应该是this.setState({number:val})