#javascript #reactjs #redux #redux-toolkit
#javascript #reactjs #сокращение #redux-toolkit
Вопрос:
Я инициализировал состояние entityAdapter и объявил селекторы как
export const devicesAdapter = createEntityAdapter<Device>({
})
export const initialDevicesState = devicesAdapter.getInitialState({
listLoading: false,
actionsLoading: false,
totalCount: 0,
groups: [] as Group[],
deviceForEdit: null as Device,
error: null,
});
export const {
selectAll: selectAllDevices,
selectById: selectDeviceById,
selectIds: selectDeviceIds,
selectEntities: selectDeviceEntities,
} = devicesAdapter.getSelectors((state: RootState) => state.devices);
Теперь, в действии, созданном с помощью createAsyncThunk, я пытаюсь получить доступ к текущему состоянию групп в моем хранилище как
const groups=store.getState().devices.groups;
Который еще не работает, и я думаю, что это плохой подход для доступа к состоянию из компонента корневого хранилища?
Есть ли лучший способ доступа к состоянию групп с уровня устройств, например, с помощью селекторов devicesAdapter?
Комментарии:
1. Считаете ли вы, что передача атрибута groups в качестве полезной нагрузки при вызове этого действия creator считается лучшим способом?
Ответ №1:
Очень просто получить состояние хранилища при использовании createAsyncThunk с помощью метода getState() thunkAPI, который является вторым параметром по умолчанию для async payloadCreator