React 没有双向绑定,那么为什么用户更改不会对不受控制的输入的"value"属性进行更改



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的初始值一次,然后退出。

最新更新