Javascript 如何从子组件更改父状态?

Javascript 如何从子组件更改父状态?,javascript,reactjs,this,Javascript,Reactjs,This,我正在学习react.js,并尝试执行以下操作: 我有NumberBox组件和NumberLink子组件 NumberBox具有val状态 NumberLink具有val属性 当我单击NumberLink时,我想将NumberBox状态更改为link的val属性,但在控制台中我得到: 未捕获类型错误:this.props.onNumberLinkClick不是函数 你能告诉我我做错了什么吗? 下面是代码:您正在传递的未定义的用于onNumberLinkClick属性 在执行回调时,使用第二个参数

我正在学习react.js,并尝试执行以下操作: 我有NumberBox组件和NumberLink子组件

NumberBox具有
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})