林很新的反应,我的工作一个注册页面复选框元素
我如何能实现一个反应回调
而下方则是选择组件实现,
const ChoiceItem = ({ options, itemId, selectedIndex, onChange }) => (
handleChange: function(checked){
const value = [];
options.map(option, i) => (
value[ i ] = checked;
)
},
<Card>
{
options
.map((option, i) => (
<Checkbox
id={ `Choiceitem-checkbox-${ i }-${ itemId }` }
key={ i }
label={ option.text }
style={ styles.checkbox }
value={ '' + i }
onChange={ (checked) => onChange(itemId, [ i ], checked) }
/>
))
}
</Card>
);
我想什么在这里做的是循环遍历选项,并将值赋给一个名为value的数组,并在注册表单中调用handleAnswerChange并在那里设置值。任何人都可以告诉我如何归档?
谢谢。
在你的代码片段中,你没有将'this'绑定到'this.handleAnswerChange'。 即你应该'this.handleAnswerChange = this.handleAnswerChange.bind(this)'在你的'构造函数'中。否则,'this.setState()'不适用于你的情况。 顺便说一下,在'renderItem()'中,你没有传入'props'。 –
@andre因为'handleAnswerChange'是使用箭头函数定义的,所以它会自动绑定。这确实需要至少在babel中使用第2阶段。 – kwelch
@kwelch哎呀,对不起,我没有注意到他/他使用了箭头功能,我的不好。 –