错误代码
警告:组件正在更改要控制的时间类型的不受控输入。输入元素不应从不受控制切换到受控制(反之亦然)。在组件的生命周期内决定使用受控或非受控输入元件。
描述
所以我有一个组件,可以根据数组中的项目动态呈现多个输入字段。我的数组包含 7 天,并且每天循环多个输入字段。每个输入字段都有一个操作。通过单击按钮,我可以选择某些输入字段是否需要具有相同的内容或不同的内容。每个输入字段还需要具有唯一的状态。所以,我创建一个像这样的空状态:
constructor(props) {
super(props);
this.state = {};
}
并在我的循环中创建它,如下所示:
() => this.setState({ ['show' + day + '_morning'] : true })
() => this.setState({ ['show' + day + '_afternoon'] : true })
虽然我可以将这些状态中的每一个预定义为“showMonday_morning”等。我试图避免它,因为我想学习如何在循环中动态创建状态以供将来参考。
一切正常,但我收到上面的错误代码。
Question
我可以轻视这个错误还是应该解决这个问题?如果必须解决这个问题,如何在循环内动态创建和添加状态并避免此错误?
您不需要在构造函数中动态创建状态。相反,您可以有条件地在渲染中使用它。
<input value={this.state.['showSatMorning'] || ''} />
我可以轻视这个错误还是应该解决这个问题?
虽然此警告不会影响您的应用程序中的任何内容,但最好处理此类警告以保持应用程序的一致性并避免意外问题
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)