我们正在与redux合作,在一个网站上有几个应用程序。我们的商店看起来像这样
这样,商店就根据各个应用程序进行了划分,但当我想在应用程序中使用中间件时,这就成了一个问题。
因为应用的密钥是注入到商店里的,商店告诉我中间件没有注册。
if (store.asyncReducers[key]) {
return false;
}
store.asyncReducers[key] = reducer;
store.replaceReducer(createReducer(store.asyncReducers));
return store;
};
中间件认为它可以在以下位置访问它:但正确的路径应该是store.planningApp.planningData。
// Define a service using a base URL and expected endpoints
export const schedulerData = createApi({
reducerPath: 'schedulerData',
baseQuery: fetchBaseQuery({
baseUrl: process.env.REACT_APP_API_ENDPOINT + '/api/production/planning/',
}),
endpoints: (builder) => ({
getSchedulerEvents: builder.query({
query: () => `get-scheduler`,
transformResponse: (response) => {
return {
resources: response.resources,
};
},
}),
}),
});
如果我停止将应用程序的密钥注入到减速器中,一切都工作正常。
你对我如何解决这个问题有什么建议吗?
1条答案
按热度按时间agxfikkp1#
RTK查询是专门编写的,假设“API切片”渐缩管连接到 * 根 * 状态。它目前 * 不 * 支持在嵌套对象中连接渐缩管。
有一个开放的问题要求这种能力,但我们目前没有计划在任何时间很快:
https://github.com/reduxjs/redux-toolkit/issues/2766