React Router - 在嵌套组件中安装组件
React Router - Mounting component inside a nested component
我很难弄清楚如何使用 React Router v1.0 在嵌套组件中安装组件。我有一个加载 Layout 组件的 App 组件。 Layout 组件然后加载两个组件,Menu 和 Content。我想根据路由在 Content 组件中加载不同的组件。
下面是我的示例代码。
var App = React.createClass({
render : function(){
return <div><Layout/></div>
}
});
var Layout = React.createClass({
render : function(){
return(
<div>
<Menu/>
<Content/>
</div>
)
}
});
var Content = React.createClass({
render : function(){
return <div>This is where i want to mount my components</div>
}
});
var List = React.createClass({
render : function(){
return <div>some list goes here</div>
}
});
var Graph = React.createClass({
render : function(){
return <div>some graph goes here</div>
}
});
<Router>
<Route path='/' component={App}>
<Route path='/list' component={List}/>
<Route path='/graph' component={Graph}/>
</Route>
</Router>
任何 help/pointers 将不胜感激。
谢谢
它与基本的 React 组件完全相同。当您嵌套它们时,它们在 this.props.children
上可用。所以你最终会得到这样的结果:
var App = React.createClass({
render : function(){
return <div><Layout>{this.props.children}</Layout></div>
}
});
var Layout = React.createClass({
render : function(){
return(
<div>
<Menu/>
<Content>{this.props.children}</Content>
</div>
)
}
});
var Content = React.createClass({
render : function(){
return <div>{this.props.children}</div>
}
});
我很难弄清楚如何使用 React Router v1.0 在嵌套组件中安装组件。我有一个加载 Layout 组件的 App 组件。 Layout 组件然后加载两个组件,Menu 和 Content。我想根据路由在 Content 组件中加载不同的组件。
下面是我的示例代码。
var App = React.createClass({
render : function(){
return <div><Layout/></div>
}
});
var Layout = React.createClass({
render : function(){
return(
<div>
<Menu/>
<Content/>
</div>
)
}
});
var Content = React.createClass({
render : function(){
return <div>This is where i want to mount my components</div>
}
});
var List = React.createClass({
render : function(){
return <div>some list goes here</div>
}
});
var Graph = React.createClass({
render : function(){
return <div>some graph goes here</div>
}
});
<Router>
<Route path='/' component={App}>
<Route path='/list' component={List}/>
<Route path='/graph' component={Graph}/>
</Route>
</Router>
任何 help/pointers 将不胜感激。
谢谢
它与基本的 React 组件完全相同。当您嵌套它们时,它们在 this.props.children
上可用。所以你最终会得到这样的结果:
var App = React.createClass({
render : function(){
return <div><Layout>{this.props.children}</Layout></div>
}
});
var Layout = React.createClass({
render : function(){
return(
<div>
<Menu/>
<Content>{this.props.children}</Content>
</div>
)
}
});
var Content = React.createClass({
render : function(){
return <div>{this.props.children}</div>
}
});