edc*_*dcs 1 javascript ecmascript-6 reactjs redux react-redux
使用Redux时的一个常见惯例是将操作存储在自己的文件中,const如下所示:
export const USER_AUTH_ATTEMPT = 'USER_AUTH_ATTEMPT';
export const USER_AUTH_CHECK = 'USER_AUTH_CHECK';
export const USER_AUTH_FAIL = 'USER_AUTH_FAIL';
export const USER_AUTH_SUCCESS = 'USER_AUTH_SUCCESS';
export const USER_AUTH_LOGOUT = 'USER_AUTH_LOGOUT';
Run Code Online (Sandbox Code Playgroud)
动作名称的值通常是a string.使用像这样的约定会有什么好处吗?:
export const USER_AUTH_ATTEMPT = 0;
export const USER_AUTH_CHECK = 1;
export const USER_AUTH_FAIL = 2;
export const USER_AUTH_SUCCESS = 3;
export const USER_AUTH_LOGOUT = 4;
Run Code Online (Sandbox Code Playgroud)
操作的值将存储为整数,这可能会减小文件大小.这样做会有任何负面影响吗?
在redux体系结构中,操作被分派到商店,而不是单个reducer.因此,您可以使用多个对同一操作做出反应的Reducer.这也是你default: return state在reducers中的switch语句中有一个类似分支的原因.
如果你这样做,你必须完全确定没有两个动作具有相同的数字ID,这比使用字符串更难.
另一个重要原因是调试,例如使用redux-logger(它会打印数字而不是有用的描述性动作名称).
编辑:倩月的答案给出了另一个不这样做的好理由.
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |