React Starter Kit中路由和组件的角色
Roles of routes and components in React Starter Kit
我目前正在尝试理解React Starter Kit布局项目的方式以及它的各个部分如何协同工作。
正在处理路由和组件。路由的作用是决定在某个路径上显示什么,然后有App
及其所有子组件的组件,它们显示....围绕什么路线定义?
似乎总是显示App
中的内容。和路由定义什么显示App
内部作为其子的一部分,这是正确的吗?
No。App
组件中的内容并不总是显示,除非或直到你在路由配置中将App
定义为根组件。
如
<Router history={browserHistory}>
<Route path="/" component={App}>
<Route path="about" component={About}/>
<Route path="users" component={Users}>
<Route path="/user/:userId" component={User}/>
</Route>
<Route path="*" component={NoMatch}/>
</Route>
</Router>
在上面的代码中定义了
<Route path="/" component={App}>
导致App
组件优先显示,其他所有路由路径都是App
组件的子路径。
那么对于你问题的第二部分-"routes定义了在App内部显示的内容作为其子元素的一部分,对吗"
是的,你是对的但是要将其他组件显示为根组件的子组件,你必须在根组件的render方法中通过
提到它 {this.props.children}
e。g
const App = React.createClass({
render() {
return (
<div>
<h1>App</h1>
<ul>
<li><Link to="/about">About</Link></li>
<li><Link to="/users">users</Link></li>
</ul>
{this.props.children}
</div>
)
}
})
所以现在你告诉,当url是/
显示我的根组件即App
,如果路由是/about
或/users
显示App
的子组件即About
或Users
组件。
你的根组件App
就像一个模板,你显示标题,导航栏,页脚作为静态内容。但是当你说
{this.props.children}
相关文章:
- React重新渲染但未显示正确的组件
- 不能从angular2中的子组件指定父组件中的数组
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- React组件等待所需道具进行渲染
- 如何创建带有插槽的vue js组件预加载程序
- KnockoutJS-组件-多个实例
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何在react js中将值从一个组件发送到另一个组件
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- React组件-设置页面标题
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- 如何在salesforce aura闪电组件中使用jQuery.val()
- 为react组件传递道具的最佳方式
- [Vue warn]:未能解析组件
- 如何控制组件'的createContent函数被激发
- react组件中的绑定方法
- 如何在react js中移动第二个组件
- 多个组件是如何实现的
- 组件生命周期问题/无法处理未定义的问题
- React Starter Kit中路由和组件的角色