如何使用 React Native 中的选择器从 redux 状态设置 usestate 的初始值?

fat*_*ncu 6 reactjs react-native react-redux use-state

当我尝试从 redux 状态设置初始值时,文本组件上没有任何内容,但我可以在控制台上看到该值

   const Profile = props => {

   const userName = useSelector(userSelector);
   const [name, setName] = useState(userName);
   
   console.log(userName);
   
       return (
           <Text>{name}</Text>

       );
}; 
Run Code Online (Sandbox Code Playgroud)

PRA*_*AIK 8

它不会以这种方式工作,因为 redux 在初始渲染后获取其值,因此您只需要在 redux 值更新后更新状态

如果你的 redux 存储是一个字符串,你可以直接使用 userName 代替 name。

使用 useEffect 挂钩并将 userName 添加到其依赖项数组中。

useEffect(() => {
  setName(userName);
}, [userName])
Run Code Online (Sandbox Code Playgroud)

将其添加到您的反应组件中,它将起作用!