[英]React set input value to object property not editable
我正在将输入的值设置为对象的属性(来自状态)。 我有一个onChange
事件来更新状态。 但是,当我尝试输入时,它实际上并没有在输入中更新。 如果我不使用对象而只有一个字符串,它就可以正常工作。 我怎样才能解决这个问题?
问题演示
我的代码:
import React from "react";
export function App() {
const [data, setData] = React.useState({
test: "hello"
});
const change = (e) => {
data.test = e.target.value;
setData(data);
};
return <input value={data.test} onChange={change}></input>;
}
根据Aman Sadhwani的评论,我使用扩展语法来更新状态而不修改原始对象。
const change = (e) => {
setData({
...data,
test: e.target.value
});
};
谢谢@Aman Sadhwani。 使用 Spread 运算符更新状态。
import React from "react";
export function App() {
const [data, setData] = React.useState({
test: "hello"
});
const change = (e) => {
setData({
...data
test:e.target.value
});
};
return <input value={data.test} onChange={change}></input>;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.