Route 是 React Router中用于配置路由信息的组件,每当有一个组件须要根据 URL 决定是否渲染时,就须要建立一个 Route。函数
1) pathurl
每一个 Route 都须要定义一个 path 属性,path 属性是一个url,当 URL 匹配一个 Route 时,这个 Route 中定义的组件就会被渲染出来。code
2)Route 渲染组件的方式component
(1)componentxml
component 的值是一个组件,当 URL 和 Route 匹配时,Component属性定义的组件就会被渲染。例如:路由
<Route path='/foo' component={Foo} >
当 URL = "http://example.com/foo" 时,Foo组件会被渲染。class
(2) render
配置
render 的值是一个函数,这个函数返回一个 React 元素。这种方式方便地为待渲染的组件传递额外的属性。例如:渲染
<Route path='/foo' render={(props) => { <Foo {...props} data={extraProps} /> }}> </Route>
Foo 组件接收了一个额外的 data 属性。di
(3)children
children 的值也是一个函数,函数返回要渲染的 React 元素。 与前两种方式不一样之处是,不管是否匹配成功, children 返回的组件都会被渲染。可是,当匹配不成功时,match 属性为 null。例如:
<Route path='/foo' render={(props) => { <div className={props.match ? 'active': ''}> <Foo {...props} data={extraProps} /> </div> }}> </Route>
若是 Route 匹配当前 URL,待渲染元素的根节点 div 的 class 将设置成 active.