javascript - React 没有双向绑定,那么为什么用户更改不会对不受控制的输入的 `value` 属性进行更改
问题描述
React 没有双向绑定,那么为什么即使用户对输入值进行更改,React 也需要保持其给定值
请解释这种行为的原因以及它是如何完成的?
render() {
return <input type="text" name="fullname" value="Johnny Papa" />
}
解决方案
在您的示例中,input
实际上是只读的,因为您设置了value
. 因此,每次 react 渲染时,输入都会Johnny Papa
覆盖 DOM 值,用户无法更改它。阅读有关默认值的文档。
如果您想允许编辑,您需要使用defaultValue
:
render() {
return <input type="text" name="fullname" defaultValue="Johnny Papa" />
}
在这种情况下,react 设置一次的初始值,input
然后退出。
推荐阅读
- javascript - React Materialise CSS 全屏高度
- variables - Ansible 循环查找问题
- java - 如何在 10 行和 5 列中显示奇数?
- sql - 列出销售额 > 他的经理但低于其他经理的 emps
- java - 拆分数组后无法调用 items.isEmpty()
- python-3.x - selenium chrome 从渲染器接收消息超时:300.000
- ruby-on-rails - 如果cookie值与数据库中的令牌匹配,Rails 6显示或隐藏div
- c++ - 长长整数溢出
- sql - 如何在复合键上添加集群?
- android - 使用导航组件在活动之间导航时未清除返回堆栈