【问题标题】:Best practices for redux action creatorsredux action 创建者的最佳实践
【发布时间】:2017-06-16 17:28:45
【问题描述】:

当针对相同功能调用 2 个不同事件的动作创建者时,围绕 redux 动作创建者的最佳实践是什么?使用 redux-thunk 调度操作。

例如假设我必须编写一个动作创建器来保存和打印用户名。在以下 2 中哪个动作创建者更好,为什么?

动作创建者 1

export function actionCreator1(actionType) 
{
     switch(actionType) 
     {
           case "save":
                // dispatch
           case "print": 
                // dispach
           default:
     }
}

动作创建者 2

export function actionCreatorSave() 
{
    // dispatch    
}
export function actionCreatorPrint() 
{
    // dispatch    
}

【问题讨论】:

  • actionCreator2.因为它将两个不同的动作完全分开。
  • Down-voter- 如果您对这个问题投反对票,我将不胜感激。

标签: reactjs react-redux


【解决方案1】:

两者都是错误的。在 redux 中,动作创建者不会调度动作。它们返回您调度的操作(在 React 中,这最好在 react-redux mapDispatchToProps 函数中)。

http://redux.js.org/docs/basics/Actions.html#action-creators 提到这与通量相反。

(异步操作除外)

【讨论】:

  • 更新了“使用 redux-thunk 调度操作”问题。
  • 好的,我在考虑那个例子,但认为你没有使用 redux-thunk。然后两者都可以,具体取决于用例和偏好。
  • 谢谢!试图弄清楚开发者社区对此的共识是什么
  • 例如,如果你对这两个动作都有一些共同的逻辑,你可以把它放在 switch 上面。在第二个示例中,您可以在单独的函数中复制或提取,并从两个动作创建者调用。如果没有共同的功能,那么分成两个独立的创建者可能会更干净。但正如我所说,两者看起来都很好。
猜你喜欢
  • 2016-04-29
  • 1970-01-01
  • 1970-01-01
  • 2022-12-01
  • 2021-08-19
  • 2020-11-07
  • 1970-01-01
  • 2015-12-06
  • 2021-06-21
相关资源
最近更新 更多