Javascript 我是否应该忽略React警告:输入元素不应该从非受控切换到受控? 错误代码
警告:组件正在更改要控制的时间类型的非受控输入。输入元件不应从非受控切换到受控(反之亦然)。决定在组件的使用寿命内使用受控或非受控输入元件。 描述 因此,我有一个组件,它根据数组中的项动态呈现多个输入字段。我的数组包含7天,我每天循环多个输入字段。每个输入字段都有一个操作。通过单击按钮,我可以选择某些输入字段是否需要具有相同的内容或不同的内容。每个输入字段还需要具有唯一的状态。因此,我创建了一个空状态,如下所示:Javascript 我是否应该忽略React警告:输入元素不应该从非受控切换到受控? 错误代码,javascript,reactjs,state,Javascript,Reactjs,State,警告:组件正在更改要控制的时间类型的非受控输入。输入元件不应从非受控切换到受控(反之亦然)。决定在组件的使用寿命内使用受控或非受控输入元件。 描述 因此,我有一个组件,它根据数组中的项动态呈现多个输入字段。我的数组包含7天,我每天循环多个输入字段。每个输入字段都有一个操作。通过单击按钮,我可以选择某些输入字段是否需要具有相同的内容或不同的内容。每个输入字段还需要具有唯一的状态。因此,我创建了一个空状态,如下所示: constructor(props) { super(props)
constructor(props) {
super(props);
this.state = {};
}
() => this.setState({ ['show' + day + '_morning'] : true })
() => this.setState({ ['show' + day + '_afternoon'] : true })
然后在我的循环中这样创建:constructor(props) {
super(props);
this.state = {};
}
() => this.setState({ ['show' + day + '_morning'] : true })
() => this.setState({ ['show' + day + '_afternoon'] : true })
尽管我可以将这些状态预先定义为“showMonday\u morning”,等等。。我试图避免它,因为我想学习如何在循环中动态创建状态,以供将来参考一切正常,但我收到上面的错误代码 问题:
我可以对这个错误掉以轻心,还是应该解决这个问题?如果必须解决这个问题,我如何在循环中动态创建和添加状态并避免此错误?据我所知,React.js告诉您决定使用一种类型的输入元素,受控或不受控,如果您在一个组件中同时使用这两种元素,您将看到警告,我建议制作一个定制的InputComponent,您可以在React应用程序中使用它
此警告不被认为是危险的,它用于更干净的反应和优化。您不需要在构造函数中动态创建状态。相反,您可以在渲染中有条件地使用它
<input value={this.state.['showSatMorning'] || ''} />
我可以对这个错误掉以轻心,还是应该解决这个问题
虽然此警告不会影响应用程序中的任何内容,但最好处理此类警告以保持应用程序的一致性并避免意外问题感谢您的澄清!我也宁愿有一个干净无误的应用程序,所以这很有帮助!我能收到你的电子邮件@Shubham吗Khatri@Pie你可以在LinkedIn或Twitter上与我联系,我会给你发电子邮件id@ShubhamKhatri我已经在twitter上发送了一封DM。一封电子邮件请求谢谢你的澄清!我也宁愿有一个干净无误的应用程序,所以这很有帮助!看看这个:+1:好运气,非常有趣的文章!我想我了解一点;然而,我仍然坚持使用我的代码,并且觉得没有其他选择可以问一个与之相关的新问题:。