如何使用反应有条件地删除值属性

How to conditionally remove value attribute using react

我想从 React 的输入字段中删除值 属性。我怎样才能做到这一点?

例如。我想从下面的输入字段

中删除值 属性
<input type="text" value={this.state.value} />

input 中显示或不显示值很容易处理。 你可能有一个标志来处理它。 那么:

<input type="text" value={isShow ? this.state.value : ""} />

如果你想完全删除 value 属性,你可以让它的键和值来自一个对象,然后散布到元素上

https://stackblitz.com/edit/react-2vreml

在此示例中,只有输入 5 没有 value 属性

class App extends Component {
  state = {
    value1: 'React',
    value2: null,
    value3: undefined,
    input4: { type: 'text', value: '123' },
    input5: { type: 'text' }
  };


  render() {
    const { value1, value2, value3, input4, input5 } = this.state;
    return (
      <div>
        <input type="text" value={value1} />
        <input type="text" value={value2} />
        <input type="text" value={value3} />
        <input {...input4} />
        <input {...input5} />
      </div>
    );
  }
}