小编coo*_*JCW的帖子

React-Mobx警告:组件正在更改不受控制的输入

我使用React + TypeScript + Mobx。我输入了表格,一切正常,但浏览器显示错误。我究竟做错了什么?

警告:组件正在更改要控制的文本类型的不受控制的输入。输入元素不应从不受控制切换为受控制(反之亦然)。确定在组件的使用寿命期间使用受控或不受控制的输入元素。

形成:

@observer
export class SearchForm extends React.Component {

    @observable
    private _inputText: string;

    submitForm = (event: SyntheticEvent<HTMLFormElement>) => {
    event.preventDefault();
    }

    render() {
      return (
        <form onSubmit={this.submitForm}>
          <InputField
            value={this._inputText}
            onChange={action((value: string) => this._inputText = value)}
          />
       </form>
    );}}
Run Code Online (Sandbox Code Playgroud)

输入:

interface Props {
  value: string;
  onChange: (inputText: string) => void;
}

@observer
export class InputField extends React.Component<Props> {

  onChange = (event: SyntheticEvent<HTMLInputElement>) => {
  this.props.onChange(event.currentTarget.value);
  }

  render() {
    return (
      <div>
        <input
          type="text"
          value={this.props.value}
          onChange={this.onChange}
        /> …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs mobx

5
推荐指数
1
解决办法
583
查看次数

标签 统计

mobx ×1

reactjs ×1

typescript ×1