im试图从Redux存储读取一些数据,但一直未定义这是基于redux模板创建的,使用:创建react应用程序[appname]--模板redux
我知道在如何读取数据方面存在很大问题
这是我的商店:
import { configureStore } from "@reduxjs/toolkit";
import calculatorReducer from "../features/Data_calculator_slice";
export const store = configureStore({
reducer: {
calculator: calculatorReducer,
},
});
我的行动和草签状态:
import { createSlice } from "@reduxjs/toolkit";
const initialState = {
value: [{ name: "test", wight: 18, grade: 12, gpa: "A" }],
};
export const counterSlice = createSlice({
name: "data",
initialState,
reducers: {
incrementByAmount: (state, action) => {
state.value += action.payload;
const currentValue = selectCount();
console.log(currentValue);
},
},
});
export const { incrementByAmount } = counterSlice.actions;
export const selectCount = (state) => state.calculator.data;
/* export const selectCount = (state) => state.counter.value;
*/
export default counterSlice.reducer;
但在这里,当我试图使用下面的代码获取数据时,它会返回未定义的
const count = useSelector(selectCount);
console.log(count);
在减速器中不能像在组件中那样使用相同的选择器。一个范围是您定义的切片,另一个是全局的。此外,在reducer中,您没有将状态传递给selectCount
选择器,因此它无法从该状态返回任何内容。
在减速器中,值的选择器为(state) => state.value
在组件中,值的选择器是(state) => state.calculator.value