React Redux Reselect - 未定义状态

问题描述

我的 react/redux 应用中有以下代码

import { createSelector } from 'reselect';

const selectMembers = state => state.membersData;

const makeSelectLessonSets = createSelector(
  selectMembers,substate => substate.get('myData').toJS()
);

问题是有时 myData 还没有定义,所以 substate.get('myData') 不会得到任何东西。由于我尝试对其调用 toJS(),因此它显示错误undefined is not an object

但我不知道如何在调用 substate.get('myData') 之前检查 createSelector 是否在 toJS() 中返回了一个有效对象。

你能帮忙吗。

解决方法

我在点之前添加了 ? 这不会抛出错误

import { createSelector } from 'reselect';

const selectMembers = state => state.membersData;

const makeSelectLessonSets = createSelector(
  selectMembers,substate => substate?.get('myData')?.toJS()
);