我想将reduxState设置为useState,但问题是reduxState在渲染后出现,然后useState仍然为null,这是在第一次渲染时得到的。Expect:reduxState将每个更改或更新都传递给useState。
const Account: React.FC<Props> = ({ logInAction, userDataStore }) => {
const [userValues, setUserValues] = useState<User>(userDataStore as User);
return (
<Text>
{/*
this data (userValues) still null
despite userDataStore
is changed and has Data
*/}
Fullname: {userValues.fullName}
</Text>
);
.
.
.
export default connector(Account);
我知道使用redux状态直接对我有效:
userDataStore.fullName
<Text>
{/* fullName: {userValues.fullName} */} ---> not work always null
fullName: {userDataStore.fullName} ---> this work good
</Text>
);
但我想使用useState。请帮忙吗?
我将不胜感激。
不确定您不想使用reduxState和useState
挂钩的原因是什么,但您可以通过添加useEffect
挂钩来实现reduxState和用户值之间的同步:
const [userValues, setUserValues] = useState<User>(userDataStore as User);
useEffect(() => {
setUserValues(userDataStore as User)
}, [userDataStore]);
...
这将在userDataStore
发生变化时设置userValues
。