gpt4 book ai didi

javascript - 将中间件应用于单个商店

转载 作者:行者123 更新时间:2023-12-02 13:50:09 25 4
gpt4 key购买 nike

在 redux 中,您可以轻松创建中间件。我有一个看起来像这样的,很容易应用于我的整个商店。

function socketMiddleware(store) {
const socket = io.connect(SOCKET_URL);
socket.on('connect', () => store.dispatch({ type: CONNECTED }));

return next => action => {
// does something with the socket.
}
}

但是,我想提供一个中间件,每当调度更新该 reducer 的操作时,该中间件仅在我的商店中的单个 reducer 上运行。即:

export default wrapWithMiddleware((state = INITIAL_STATE, action) => {
switch (action.type) {
default:
return state;
}
})

这在 redux 中可能吗?

最佳答案

中间件的作用与中间件的作用相同:在请求到达端点(reducer)之前处理每个请求(在本例中为操作),或者由于某种原因被中间件停止。

因此,您需要确保您的中间件可以以某种方式识别您的操作。例如,redux-thunk 通过检查操作是否是函数来识别操作,而 redux-form 使用其操作类型的前缀(类似于 @REDUX_FORM/YOUR_ACTION_NAME)。这是您应该思考的方式,因为否则它就会违背中间件的目的。

关于javascript - 将中间件应用于单个商店,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41062299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com