【问题标题】:react - Warning: ComponentXXX is changing an uncontrolled input of type undefined to be controlled反应 - 警告:ComponentXXX 正在将未定义类型的不受控输入更改为受控
【发布时间】:2018-11-30 22:04:12
【问题描述】:

我尝试仅将我的道​​具用于我的输入值 - 内部状态没有受控组件。 我猜它的工作原理,但我收到以下错误:

warning.js:33 警告:ComponentXXX 正在将 undefined 类型的不受控输入更改为受控。输入元素不应从不受控切换到受控(反之亦然)。决定在组件的生命周期内使用受控输入元素还是不受控输入元素。

这是我的代码:

输入:

  <input type="radio" name="answer" value="ValueType1"
                                   checked={this.props.valueType === "ValueType1"}
                                   onChange={this.handleValueTypeChange}/>

界面:

declare interface Manager1 {
    valueType: string;
}

改变功能:

private handleValueTypeChange(event: any) {
    this.props.onUpdateMethod({
        ...this.props.manager {        
                valueType: event.target.value,
         }
    });
}

有什么想法吗?

【问题讨论】:

    标签: reactjs input


    【解决方案1】:

    如果您最初将 undefined 或 null 作为 value 属性传递,则组件将作为“不受控制的”组件开始生命。与组件交互后,您设置一个值并将其更改为“受控”组件,然后发出警告。

    查看此值 - checked={this.props.valueType === "ValueType1"} 是否最初设置为 undefined。确保将其设置为该值或 false(如果您希望它开始未选中)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-06
      • 2018-01-13
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多