我目前正在从事基于CMS的项目。
我为此使用erikras的Universal React Redux样板
我真的需要有关处理动态路由的建议
让我们以一个简单的场景作为样板…
在 routes.js中
<Route path="about" component={About}/>
<Route path="login" component={Login}/>
<Route path="survey" component={Survey}/>
<Route path="widgets" component={Widgets}/>
data.js
export const data = [
{id: 1, property: 'Dashboard', link: '/'},
{id: 2, property: 'Login', link: '/login'},
{id: 3, property: 'About Us', link: '/About'},
];
现在,假设根据用户角色,json数据中的属性将更改
假设新属性:是
{id: 4, property: 'test page', link: '/test'}
当react将呈现组件时,它将如何知道路由链接..,因为未在route.js中定义
我没有正确的方法来实现它
根据用户角色,我们需要由特定菜单内容组成的边栏。
假设我们正在建立一个预订系统,可以有不同的用户角色,例如admin,维护模式,助手角色。
因此,不同的角色将具有不同的属性,因此,由于每个用户角色的属性肯定不同,因此我们需要在此基础上生成菜单。
谢谢!!
从您的示例中尚不清楚应为/test
url 呈现哪个组件?我想这是property
钥匙的价值,对吧?
您可以执行以下操作:
<Route path="/:page" component={Page}/>
它将允许您Page
为每个url 渲染组件/
,该组件起始于,并且该组件内部将包含页面url
this.props.routeParams.page
。它使您可以在其中找到所需的组件Page#render
:
render() {
const url = this.props.routeParams.page;
const PageComponent = data.find(page => page.link === url).property;
render <PageComponent />;
}
您可以动态生成Routes,但是我不确定它是否有效(您可以检查一下)。您只需要替换此部分:
<Route path="about" component={About}/>
<Route path="login" component={Login}/>
<Route path="survey" component={Survey}/>
<Route path="widgets" component={Widgets}/>
与
data.map(page => <Route path={page.link} component={page.property} key={page.id}/>)
我想实现菜单栏上的导航,这是我从API中获取的。例如,在主页上,我有四个菜单,如menu1、menu2、menu3、menu4,它们总是显示。点击这些菜单,我想获取与它们相关的产品。 我读过React js中的嵌套路由,但无法实现它。 类别的动态菜单栏: 我的路由文件: click on Category只会更改浏览器url,而不是页面。 CategoryProducts.ja Products.
本文向大家介绍VC动态生成菜单项的实现方法,包括了VC动态生成菜单项的实现方法的使用技巧和注意事项,需要的朋友参考一下 本例所述为使用VC编写的一个可以动态生成菜单项的类文件,这里展示的是其核心代码,代码备有比较详细的注释,相对而言理解起来并不复杂。 主要功能代码如下:
我需要一个简单的主div列100%满。 有时会出现一个侧边栏,具有动态宽度。 在这个示例中,您可以看到我无法更改侧栏宽度(每次都有一个新的宽度值),并且我无法将主div“拉伸”到100%的宽度。 怎么办?
MainActivity.java menu.xml color.xml
在我的应用程序中,我想在菜单栏中保留一个菜单栏和菜单,我想将注销按钮对齐到右侧,如下图所示。 我怎样才能做到这一点?
问题内容: 我正在尝试从方法外部更改菜单项的标题。 我已经做了以下工作; 但是,我希望能够在此方法之外修改特定菜单项的标题。 问题答案: 正如JxDarkAngel所建议的那样,可以从你的中的任何地方调用它, 然后覆盖: