【发布时间】:2020-01-02 01:30:50
【问题描述】:
ReactJS 不喜欢 <input> 中的值为 null。
警告:
input上的value属性不应为空。考虑使用一个 空字符串清除组件或undefined不受控制 组件。
太好了。我的数据库经常返回 null,因为尚未设置任何内容。
我在 ReactJS 应用程序中动态呈现输入字段。
value={this.state[row_array[0]] || ''}
this.state[row_array[0]] 的值有时为 0。我想在文本字段中输入 0,但结果为 false ...因此...空字符串 '' 被放入文本字段。
问题是this.state[row_array[0]] 可以是任何东西... 0 是个大问题。
这有一些信息,但对我没有任何帮助https://github.com/facebook/react/issues/11417
关于如何设置 value=0 的任何想法?
【问题讨论】:
-
为什么不直接做
value={this.state[row_array[0]] || '0'}? -
如果它为空我不想插入一个'0'
-
@slindsey3000 如果您尝试检查 undefined 或 null 会怎样:
this.state[row_array[0]] === null || this.state[row_array[0]] === undefined ? '' : this.state[row_array[0]] -
@slindsey3000 如果您还没有启用它,我不会担心,因为您应该能够编写
??使用当前功能执行的代码 - 所以可能不值得安装一个插件。我相信做this.state[row_array[0]] === null || this.state[row_array[0]] === undefined ? '' : this.state[row_array[0]]会在某种程度上等同于??所做的事情。 -
哦,快点@NickParsons 成功了。用这个玩了 2 个小时!祝福你!
标签: javascript reactjs