不理解本Redux教程中的操作和分派代码

dgtucam1  于 2022-12-27  发布在  其他
关注(0)|答案(1)|浏览(110)

我在看一个关于一个youtub的MERN堆栈项目的教程,我在看他编写项目的Redux部分,有一些代码我看不懂,这是他的Redux操作代码,用于从apix 1c 0d1x中检索数据
据我所知,这是一个操作,它应该返回action对象{type,payload}。我不明白为什么他在花括号中给予了一个dispatch参数(第4行),并分派action对象(第8行)。
这是他的App.js文件ex 1c 1d 1x
在他的App.js中,我没有看到他向getPosts()传递任何参数(第16行)
我尝试使用redux工具包创建动作,如下所示

export const getPosts = createAction('FETCH_ALL', async () => {

    try {
        const { data } = await api.fetchPosts();

        return {
            payload: data,
        };

    } catch (error) {
        console.log(error.message);
    }  
} )

我的代码和视频的图像代码URL之间有什么区别吗:https://youtu.be/ngc9gnGgUdA?list=PL6QREj8te1P7VSwhrMf3D3Xt4V6_SRkhu&t=3130

elcex8rz

elcex8rz1#

它是redux-thunk的一个thunk函数。thunk函数是一个接受两个参数的函数:Redux存储分派方法和Redux存储getState方法。Thunk函数不是由应用程序代码直接调用的,而是传递给store.dispatch():

const thunkFunction = (dispatch, getState) => {
  // logic here that can dispatch actions or read state
}

store.dispatch(thunkFunction)

参考:https://redux.js.org/usage/writing-logic-thunks

相关问题