Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在redux中间件中分派操作?_Javascript_Reactjs_Redux_Redux Middleware - Fatal编程技术网

Javascript 如何在redux中间件中分派操作?

Javascript 如何在redux中间件中分派操作?,javascript,reactjs,redux,redux-middleware,Javascript,Reactjs,Redux,Redux Middleware,我写了一个中间件,比如: const testMiddleware = ({ dispatch, getState }) => next => action => { console.log('test middleware') }; export default testMiddleware; 并将其添加到我的应用商店:applyMiddleware(testMiddleware)在我的控制台中,我得到了testMiddleware 我写了一个简单的动作,像这样:

我写了一个中间件,比如:

const testMiddleware = ({ dispatch, getState }) => next => action => {
    console.log('test middleware')
};

export default testMiddleware;
并将其添加到我的应用商店:
applyMiddleware(testMiddleware)
在我的控制台中,我得到了
testMiddleware

我写了一个简单的动作,像这样:

export const sayHi = () => {
    return dispatch => {
        console.log('hi');
    }
}

如何在我的中间件中分派
sayHi
操作?

中间件获取存储的getState()和dispatch()函数作为第一个参数,因此您可以执行以下操作(导入所需操作后):

因此,中间件签名是({getState,dispatch})=>next=>action


中间件获取存储的getState()和dispatch()函数作为第一个参数,因此您可以执行以下操作(导入所需操作后):

因此,中间件签名是({getState,dispatch})=>next=>action


您是在尝试创建自己的
thunk
还是一些自定义中间件?我想为自己创建自定义中间件,getState work,但我无法调度操作。您是在尝试创建自己的
thunk
还是一些自定义中间件?我想为自己创建自定义中间件,getState工作,但我无法分派操作。
返回数据中的
数据是什么?i getting error
InternalError:太多的递归
当然你会得到一个错误,因为数据是未定义的变量,这只是一个例子)你应该返回链接中提到的操作谢谢,我像你的新答案那样写,但是我得到错误
内部错误:递归太多
请检查您的聊天。在
返回数据
中什么是
数据
?i getting error
InternalError:太多递归
当然你会得到一个错误,因为数据是未定义的变量,这只是一个例子)你应该返回链接中提到的操作谢谢,我喜欢你的新答案,但我get error
InternalError:太多递归const middleware = ({dispatch, getState }) =>{
    return next => action => {
        dispatch(someAction);
        // return data;
        return next(action);
  }
}