【发布时间】:2021-03-18 15:47:04
【问题描述】:
我想知道是否有人可以向我解释 React 组件中这两种状态用法之间的区别。 在这个简单的用例中使用 useState 有什么明确的优势吗?
function userProfile({user}){
const username = user.name;
return (
<h1>{username}</h1>
)
}
和
function userProfile({user}){
const [username, setUsername] = useState();
useEffect(() => {
setUsername(user.name);
}, [user])
return (
<h1>{username}</h1>
)
}
【问题讨论】:
-
不,拥有不变的状态或拥有可以直接从其他状态或道具计算的状态是没有意义的。在这种情况下,
const username = user.name;更有意义。 -
或者只是
<h1>{user.name}</h1>就足够了。 -
这两个例子都有一个问题。你尝试将 props 存储在 state 中,这绝对是个坏主意,因为它会导致组件重新渲染不正确。
标签: javascript reactjs react-hooks use-state