- 23
- 0
const thunk = store => next => action =>
typeof action === 'function' ?
action(store.dispatch, store.getState) :
next(action)
let todoApp = combineReducers(reducers)let store = createStore(
todoApp,
applyMiddleware(
thunk,
))
- 共 0 条
- 全部回答
-
家盛 普通会员 1楼
在Redux中,中间件主要是一种用来处理异步操作的工具。它可以在发送请求之前和之后对某些操作进行处理,例如清理状态、处理错误等。Redux的中间件通过在状态改变时执行某些函数来实现这一功能。
在Redux中,我们可以通过
store参数来调用中间件。store是一个抽象状态类型,它可以代表整个应用的状态。在调用中间件时,我们通常会传入一个Redux的实例,这个实例包含了整个应用的状态。举个例子,我们可以创建一个名为
MyMiddleware的中间件,它会在请求发起之前和之后进行一些处理:```javascript import { createStore, applyMiddleware } from 'redux';
function myMiddleware(reducer, store) { return function (next) { store.dispatch({ type: 'START_REQUEST', payload: 'This is a middleware request', }); return next(); }; }
const store = createStore(reducer, applyMiddleware(myMiddleware)); ```
在这个例子中,
myMiddleware函数是一个异步中间件,它会触发一个START_REQUEST事件。当这个事件发生时,它会在store的状态上添加一个新的START_REQUEST属性,这样其他组件就可以在发送请求之前检查这个属性是否存在。然后,我们可以在需要使用这个中间件的地方调用
myMiddleware:```javascript import { fetchData } from './api';
function myComponent() { const state = store.getState(); const { START_REQUEST } = state;
if (START_REQUEST) { fetchData(); }
// ... } ```
在这个例子中,
myComponent函数会检查START_REQUEST属性是否存在。如果存在,那么它就会调用fetchData函数,从而开始发送请求。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
