redux-thunk . 首先,我们将“常规”操作对象用于异步操作,我们的中间件对此进行了解释。在这种情况下,可以理解我们的操作出现在react本机调试器的操作列表中。
redux-thunk
然而,在最近的一个项目中,我注意到我们的thunks做到了 在调试器中显示为操作,提示以下问题:
2) 如果是这样,人们会觉得这不是问题吗? 3) 其他异步操作库是否也有相同的问题?
export const gotSomething = data => { return { type: GOT_SOMETHING, data, }; }; export const getSomething = () => { // <-- This is our thunk! return async dispatch => { const { data } = await axios.get('/something'); dispatch(gotSomething(data)); <-- This is the only thing being dispatched }; };
所以顺序是这样的:
因此,尽管从技术上讲,您是在thunk上“调用dispatch”,但实际上您只是在thunk返回的函数内部调度操作。我希望这有帮助!