React没有双向绑定,那么为什么即使用户更改了输入值,React也需要保持其给定值
请解释这种行为的原因以及如何做到这一点
render() {
return <input type="text" name="fullname" value="Johnny Papa" />
}
在您的示例中,input
实际上是只读的,因为您设置了value
。因此,每次react渲染时,输入Johnny Papa
都会覆盖DOM值,用户无法更改它。请阅读有关Default Values的文档。
如果你想允许编辑,你需要使用defaultValue
:
render() {
return <input type="text" name="fullname" defaultValue="Johnny Papa" />
}
在这种情况下,react设置input
的初始值一次,然后退出。