【发布时间】:2022-07-12 18:29:38
【问题描述】:
还有其他多个 Stack Overflow 线程与此问题有点相关,但实际上标题含糊不清,或与带有类组件的 React 相关,或与非常复杂的 React 组件或状态相关。因此,我想创建一个能够明确且真正简单地解决将 state 更改为 object 时出现的问题。
请注意,我正在单击 user 对象的 firstName 属性进行更新,这是一个状态,没有任何事情发生。代码如下:
const App = () => {
const [user, setUser] = React.useState({ firstName: "Jhon", lastName: "Doe", tel:"09004345000" });
const changeFirstAndLastName = () => {
const newUser = user;
newUser.firstName = "David";
setUser(newUser);
};
return (
<div>
<div>
<p>First Name: {user.firstName}</p>
<p>Last Name: {user.lastName}</p>
<p>Tel: {user.tel}</p>
</div>
<button onClick={changeFirstAndLastName}>
Change First Name
</button>
</div>
);
}
ReactDOM.render(
<App />,
document.getElementById('root')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.0/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.0/umd/react-dom.production.min.js"></script>
<div id="root"></div>
【问题讨论】:
标签: javascript reactjs