param上的固定路由不会渲染指定的组件

时间:2016-08-10 12:10:14

标签: react-router params

这是路由器设置

<Route path="/" component={App}>
   <Route path="/pages(/:section)" component={ Pages }>
     <Route path="/pages/category" component={ Pages.Category }/>
     <Route path="/pages/editor(/:uid)" component={ Pages.Editor }/>
   </Route>
 </Route>

Pages组件包含Menu组件,需要激活按钮取决于section。这里奇怪的是组件Pages.Category未在props.children Pages中传递,因此根本不会呈现。{1}}只要从(/:section)中删除path="/pages(/:section)",就会按预期呈现`Pages.Category。编辑器路线也是如此。这是预期的行为吗?难道我做错了什么?

1 个答案:

答案 0 :(得分:1)

是的,根据我的经验,这是预期的行为。

您的#include <iostream> using namespace std; int i,j; int printPixels(int Board[11][11]){ for (i=0;i<11;i++){ for (j=0;j<11;j++) cout << ((Board[i][j] == 0) ? "\u2b1c" : "\u2b1b"); cout << endl; } return 0; } int main() { int a[11][11]={ {1,1,1,1,1,1,1,0,1,0,1},{1,0,0,0,0,0,1,0,1,0,1}, {1,0,1,1,1,0,1,0,1,1,0},{1,0,1,1,1,0,1,0,0,0,0}, {1,0,1,1,1,0,1,0,1,1,1},{1,0,0,0,0,0,1,0,0,0,1}, {1,1,1,1,1,1,1,0,1,1,1},{0,0,0,0,0,0,0,0,0,1,1}, {1,1,0,0,1,1,1,0,0,1,0},{0,0,1,0,1,1,0,0,0,1,0}, {1,1,1,1,1,0,0,1,1,1,1} }; printPixels(a); } 是路线组。您只能定义基本URL。现在,您的路由器匹配此路由并显示“页面”。组件。它显示第一场比赛,这是第一场比赛。您的代码看起来像这样,以使组工作:

<Route path="/pages(/:section)" component={ Pages }>

您无法在绝对值之上构建网址:

  

如果路线使用相对路径,则它建立在其祖先的累积路径上。嵌套路由可以使用绝对路径选择退出此行为。

现在,您无法在&#39;页面中直接访问您所在的页面。组件,但您可以从<Route path="/" component={App}> <Route path="pages" component={ Pages }> <Route path="category" component={ Pages.Category }/> <Route path="editor(/:uid)" component={ Pages.Editor }/> </Route> </Route> 读取当前的完整路径。使用一点正则表达式,您可以找到当前显示的组件:

this.props.location.pathname

我在CodePen上有一个工作例子:http://codepen.io/loico/pen/VjqKvg#/pages/category