【问题标题】:Why async actions have a currying?为什么异步操作有一个柯里化?
【发布时间】:2018-06-18 18:08:22
【问题描述】:

我想知道为什么异步操作类似于柯里化函数而不是带有两个参数的箭头函数

const asyncAction = () => dispatch => {

谢谢!

【问题讨论】:

    标签: reactjs redux redux-thunk


    【解决方案1】:

    这不是完全咖喱。重要的部分是一个函数被传递到dispatch,像这样:

    const thunkFunction = (dispatch, getState) => {
        // do useful stuff with dispatch and getState        
    };
    store.dispatch(thunkFunction);
    

    但是,为了与其他良好的 Redux 代码结构保持一致,我们使用“动作创建者”函数来封装创建我们将传递给 dispatch 的任何内容的过程:

    const thunkFunction = someThunkActionCreator(a, b, c);
    store.dispatch(thunkFunction);
    

    这样,当我们在组件中使用 this 时,它甚至都不知道它调用的 prop 函数有什么特别之处:

    this.props.someThunkActionCreator(a, b, c);
    

    【讨论】:

      猜你喜欢
      • 2021-04-04
      • 2019-03-26
      • 2013-01-07
      • 1970-01-01
      相关资源
      最近更新 更多