【发布时间】:2017-10-16 14:42:34
【问题描述】:
我们正在尝试将 onChange 处理程序添加到我们的自定义组件之一 - 即 Checkbox 组件(它是自定义组件的唯一原因是我们可以有效地封装 intermediate HTML属性)。它看起来像这样:
<Checkbox
id="select-all"
onChange={this.handleSelectAllChange(ids)}
indeterminate={isIndeterminate}
checked={areVisibleItemsSelected}
disabled={isDisabled}
/>
处理函数的结构有点像这样:
handleSelectAllChange(ids) {
// omitted code that filters on ids and produces newIds
this.props.updateIds(newIds);
}
其中this.props.updateIds 是修改父组件状态的传递函数。
问题是这个函数在页面加载过程中被调用了大约 10 次,这不是故意的。我以为只有在修改实际的复选框元素时才调用它?
【问题讨论】: