我在 Redux 回声系统中寻找出路,我遇到了以下情况:假设我有一个 React 组件,它应该使用选择器连接到 redux 状态部分,但是这部分还不存在(未定义)。所以,在运行它时,我得到一个“get on undefined”错误。即使状态部分还不存在,是否可以以某种方式定义选择器并将其连接到组件?
我正在使用 reselect 来创建选择器,这是我用来避免抛出错误的一种解决方法:
import { createSelector } from 'reselect';
const selectLogin = (state) => state
const loginDataSelector = () => createSelector(
selectLogin,
(authState) => authState.get("auth")?
authState.get("auth").get('loginData'):undefined
);
export {
loginDataSelector
};
通过这种方式,selectLogin
选择器似乎监控了整个状态树。有没有更好的方法来做到这一点,或者对于具有未定义(=尚未设置)状态部分的选择器是否有最佳实践?