【发布时间】:2016-03-27 01:51:39
【问题描述】:
我正在使用 React 和 Redux 构建一个应用程序,我有一个关于设计的问题。
我的应用程序使用 React Router。它有一个导航栏(在左侧),显示来自 React Router 配置文件的路由以及 Material Design 菜单。
我会知道处理这个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',
},
]);
拥有一个没有动作处理程序的常量减速器是一个好习惯吗?如果不是,我应该怎么做?
提前致谢。
【问题讨论】:
标签: javascript reactjs react-router flux redux