Reactjs 警告:输入正在将文本类型的受控输入更改为非受控输入 实现输入类型复选框组件的正确方法

Reactjs 警告:输入正在将文本类型的受控输入更改为非受控输入 实现输入类型复选框组件的正确方法,reactjs,Reactjs,我在实现Reactrap输入类型复选框组件时遇到了一些问题,我不知道我在实现中是否有错误,但当我设置状态以获取输入选中值时,浏览器显示了一个错误 错误 我阅读了有关非受控部件和受控部件的使用。我试图使用ref属性,但仍然没有找到解决这个问题的方法。如果你能给我任何帮助,我将不胜感激。谢谢 图书馆版本 反应#15.6.1 reactstrap#4.8.0 组件: 浏览器:Chrome 这是一个仅包含react组件类代码的链接 我猜您正在使用未定义的状态来加载组件的值 例如,如果您像这样初始化

我在实现Reactrap输入类型复选框组件时遇到了一些问题,我不知道我在实现中是否有错误,但当我设置状态以获取输入选中值时,浏览器显示了一个错误

错误 我阅读了有关非受控部件和受控部件的使用。我试图使用ref属性,但仍然没有找到解决这个问题的方法。如果你能给我任何帮助,我将不胜感激。谢谢

图书馆版本
  • 反应
    #15.6.1
  • reactstrap
    #4.8.0
  • 组件:
  • 浏览器:
    Chrome
这是一个仅包含react组件类代码的链接


我猜您正在使用未定义的状态来加载
组件的值

例如,如果您像这样初始化状态:

this.state={person:{}

您的输入是:

当您的组件初始化时,它将具有值
未定义
,例如
,因此您将从受控状态移动到非受控状态

这里有一个简单的修复方法:

Warning: Input is changing a controlled input of type text to be uncontrolled. 
Input elements should not switch from controlled to uncontrolled (or vice versa). 
Decide between using a controlled or uncontrolled input element for the lifetime of the 
component.