javascript-最佳做法:使用Redux处理只读数据

我正在使用React和Redux构建应用程序,并且对设计有疑问.

我的应用程序使用React Router.它具有一个导航栏(左侧),该导航栏显示带有材料设计菜单的React Router配置文件中的路线.

我会知道处理此LeftNav组件的静态数据的最佳实践是什么.

该数据具有以下形状:

const menuItems = [
  {
    icon: 'home',
    label: 'Home',
    url: '/home',
    withDivider: true,
    access: 'all',
  },
  {
    icon: 'settings',
    label: 'Settings',
    url: '/settings',
    access: 'admin',
  },
  {
    icon: 'power_settings_new',
    label: 'Log Out',
    url: '/logout',
    access: 'user',
  },
];

为了尊重smart and dumb component proposal,我的LeftNav组件是愚蠢且无状态的.
我还有一个智能组件(现在只是我的AppContainer),该组件呈现LeftNav组件并通过props向其提供menuItems数组.

我想知道是否必须将此只读数据包括到我的redux状态树中.在这种情况下,我将有一个这样的常量减速器:

export default handleActions({}, [
  {
    icon: 'home',
    label: 'Home',
    url: '/home',
    withDivider: true,
    access: 'all',
  },
  {
    icon: 'settings',
    label: 'Settings',
    url: '/settings',
    access: 'admin',
  },
  {
    icon: 'power_settings_new',
    label: 'Log Out',
    url: '/logout',
    access: 'user',
  },
]);

有一个没有动作处理程序的常量化简器是一个好习惯吗?如果没有,我该怎么办?

提前致谢.

解决方法:

就我个人而言,我更喜欢我的减速器专注于处理应用程序/系统范围的状态.在您的示例中,该配置作为使用它的组件内部的常量会感觉更像是在家中生活(LeftNav?)

上一篇:javascript-React-Router子项不传播


下一篇:C#使用指针表达式