首页 > 解决方案 > 带有条件语句的 Redux useSelector

问题描述

我需要获取 Redux 存储数据,但并非总是如此,并且每个组件实例化的数据都不同。如何将 useSelector 与条件语句一起使用?

仅当渲染某些子组件时,组件才应从存储中获取数据,并且每次根据子组件的不同而获取不同的数据。

标签: reduxlocal-storagereact-hooksredux-persist

解决方案


useSelector 接受一个可以访问 redux 状态的回调作为参数

因此,假设您控制子组件是否在名为 isComponentRendered 的布尔标志中呈现,并且想要在它为 true 时选择数据,否则您可以尝试以下操作:

const data = useSelector(state => {
   if(state.isComponentRendered) {
       return state.data
   }
   return null;
})

推荐阅读