【发布时间】:2018-01-18 02:13:51
【问题描述】:
我试图弄清楚为什么 onChange 不能在子组件上工作,我有一个名为 AlertMethod 的组件,我从一个容器调用。
<AlertMethod
onChange={this.methodSelected}
label="Sms"
value="sms"
/>
而methodSelected 只是一个console.log() 来测试是否被调用
methodSelected = (event, data) => {
console.log(data);
};
这里有一张图片可以更好地解释它。
所以最后那个函数它不会被调用。那是我的问题。
编辑
在我的容器AlertSystem.js 上,如果复选框被选中,我想更新一个状态,所以我的复选框组件是Checkbox.js,它是一个无状态函数,它接收 2 个道具 label 和 value 没什么特别的。所以在我的容器中,当我的Checkbox 组件更改时,更新我的状态,这就是为什么我在子组件上有一个onChange={this.methodSelected},因为在methodSelected 函数中我会用 this.setState 和其他东西更新我的状态。
【问题讨论】:
标签: function reactjs components containers children