据我所知并纠正我是否有错,redux-thunk是一个中间件,可以帮助我们在操作本身中调度异步函数并调试值,而当我使用redux- promise时,如果不实现自己的实现就无法创建异步函数作为Action的机制抛出仅分配纯对象的异常。
这两个软件包之间的主要区别是什么?在单个页面react应用程序中使用这两个软件包或坚持redux-thunk就足够了吗?
redux-thunk 允许您的动作创建者返回一个函数:
redux-thunk
function myAction(payload){ return function(dispatch){ // use dispatch as you please } }
redux-promise 允许他们返回承诺:
redux-promise
function myAction(payload){ return new Promise(function(resolve, reject){ resolve(someData); // redux-promise will dispatch someData }); }
如果您需要异步或有条件地分派动作,则这两个库都很有用。redux- thunk还可以让您在一个动作创建者中调度几次。是否选择一个,另一个还是全部取决于您的需求/风格。
redux- thunk