【发布时间】:2022-12-31 12:43:27
【问题描述】:
我有多个切片,我想从另一个切片中的切片访问状态,那么我该如何访问状态来自 filterSlice 中的 productsSlice
产品切片
我想访问产品状态从这片
import { createSlice } from "@reduxjs/toolkit";
const initialState = {
products: ["data"], // i want to access products in filterSlice
};
export const productsSlice = createSlice({
name: "products",
initialState,
reducers: {},
});
过滤切片
将产品状态添加到过滤产品
import { createSlice } from "@reduxjs/toolkit";
const initialState = {
filteredProduct: [// access products from proudctsSlice ],
}
export const filterSlice = createSlice({
name : "filter",
initialState,
reducers: { }
})
【问题讨论】:
-
使用 thunk Api redux-toolkit.js.org/api/createAsyncThunk 第二个参数 thunkAPI 将有一个方法 getState 来获取所有状态..或将其他状态值作为有效负载传递..我建议您以所有相关数据都在一个切片中的方式重新组织您的商店
-
过滤后的数据很可能一开始就不应该成为您商店的一部分——通常是派生数据。见redux.js.org/recipes/computing-derived-data
标签: reactjs redux react-redux redux-toolkit