我已经尝试过研究这个但是相当淹没,想知道是否有人在redux动作创建者和命名函数中使用命名函数有一个可靠的答案 - 是否有任何性能差异?或影响此事的任何其他因素?
例如:
function getUserIdentity() {
return (dispatch) => {
dispatch({
type: types.GET_USER_IDENTITY,
});
}
}
VS
const getUserIdentity = () => (dispatch) => { dispatch({type: types.GET_USER_IDENTITY}) };
谢谢!
答案 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() {} - 变量初始化发生在不同于"悬挂"的时间。函数声明,可能会有所不同,具体取决于函数的使用方式/位置。