redux TypeError:无法读取未定义的属性(阅读'roomId')

b0zn9rqh  于 2022-11-24  发布在  其他
关注(0)|答案(3)|浏览(141)

我尝试从firestore获取roomId,但是我一直在处理这个问题,因为上周我尝试了不同的es6语法,但是没有结果。下面我提供了代码,它显示了selectRoomId上的错误

import { createSlice } from '@reduxjs/toolkit';

export const appSlice = createSlice({
  name: 'app',
  initialState: {
    roomId: null
  },
  reducers: {
    enterRoom: (state, action) => {
      state.roomId = action.payload.roomId;
    },
  },
});

export const { enterRoom } = appSlice.actions;
export const selectRoomId = state => state.app.roomId;
export default appSlice.reducer;
nc1teljy

nc1teljy1#

展开您的州并仅更新roomId

reducers: {
  enterRoom: (state, action) => {
    ...state,
    roomId: action?.payload?.roomId;
  },
},
sqougxex

sqougxex2#

控制台日志来检查通过将状态更改为

export const state = (state) => state;

这帮助了我,我也面临着同样的问题。

内部组件

const roomId = useSelector(state);
console.log(roomId);

我从控制台得到的

{user:{roomId: null}
pexxcrt2

pexxcrt23#

发生这种情况是因为初始状态为null,如果将其更改为0,它将工作。我这样做了,它正在工作。

相关问题