我通过创建待办事项列表来学习反应。列表按项目组织。所以我有一个带有projects
数组和lists
对象的对象。
{
项目:store.projects,
lists:store.lists
}
列表看起来像{projectName: ['list1',...]}
我的路线是我在projects
数组
const routes = ({
var children = this.props.projects;
const routes = {
path: '/',
component: Nav,
indexRoute: { component: Layout },
childRoutes: [ ]
}
for(let i in children){
routes.childRoutes.push({path: children[i], component: Layout})
}
return routes
})
class Routing extends React.Component{
render(){
return(<Router className="row" routes={routes} history={browserHistory} />)
}
}
到目前为止一切顺利。现在,如果我发送一个将项目推送到projects
的动作,我会收到以下错误消息:
警告:[react-router]你无法改变;它将被忽略
每次我向this.props.projects
添加一些项目时,是否有办法重新创建路由器
答案 0 :(得分:4)
您不希望为每种产品创建单独的路线。你想要的是一条路径中有变量的单一路线:
<Route path="projects/:name" component={Layout} />
通过name
输入此路线,您可以访问this.props.params.name
值。