Redux Action Creators中的命名函数vs指定的匿名函数

时间:2018-04-07 10:57:24

标签: ecmascript-6 redux

我已经尝试过研究这个但是相当淹没,想知道是否有人在redux动作创建者和命名函数中使用命名函数有一个可靠的答案 - 是否有任何性能差异?或影响此事的任何其他因素?

例如:

function getUserIdentity() {
  return (dispatch) => {
    dispatch({
      type: types.GET_USER_IDENTITY,
    });
  }
}

VS

const getUserIdentity = () => (dispatch) => { dispatch({type: types.GET_USER_IDENTITY}) };

谢谢!

1 个答案:

答案 0 :(得分:0)

任何性能差异并不重要,这两个功能甚至不做同样的事情。箭头功能"等效"您的函数声明将是

const getUserIdentity = () => (dispatch) => { dispatch({type: types.GET_USER_IDENTITY}) };

const getUserIdentity = (dispatch) => dispatch({ type: types.GET_USER_IDENTITY });

在你的问题中。

关于更新的问题,调用不同的函数类型之间没有性能差异。但是,仍然存在行为上的差异,请参阅Arrow function vs function declaration / expressions: Are they equivalent / exchangeable?var functionName = function() {} vs function functionName() {} - 变量初始化发生在不同于"悬挂"的时间。函数声明,可能会有所不同,具体取决于函数的使用方式/位置。