reactjs - 我如何使用 react native 中的选择器从 redux 状态设置 usestate 的初始值?

标签 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>

       );
}; 

最佳答案

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

If your redux store is a string you can directly use userName in place of name.

Use an useEffect hook and add userName to its dependency array.

useEffect(() => {
  setName(userName);
}, [userName])

将它添加到你的 React 组件中,它将起作用!!

关于reactjs - 我如何使用 react native 中的选择器从 redux 状态设置 usestate 的初始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70292062/

相关文章:

reactjs - Google-maps-react 不加载 map

javascript - 如何检测两个手指触摸 : ReactJS

javascript - ReactJS - 如何为每个字符创建一个具有多种颜色的字符串

javascript - React.js 在不同位置渲染组件

react-native - 在 react-native 中禁用用户交互表单 MapView

javascript - 在 React Native 中运行 mount() 不可能吗?

react-native - 如何修复 React-Native 错误 'could not unzip gradle-5.4.1-all.zip'

reactjs - React Native Redux 不更新组件

reactjs - 限制 Redux 仅更新受更改影响的组件

javascript - rxjs v6/redux-observable v1.0.0 : Operators not working in epic