1.component
这是最常用也最容易理解的方式,给什么就渲染什么
2.render
render的类型是function,Route会渲染这个function的返回值。因此它的作用就是附加一些额外的逻辑1
2
3
4<Route path="/home" render={() => {
console.log('额外的逻辑');
return (<div>Home</div>);
}/>
3.children
这是最特殊的渲染方式。一、它同render类似,是一个function。不同的地方在于它会被传入一个match参数来告诉你这个Route的path和location匹配上没有。二、第二个特殊的地方在于,即使path没有匹配上,我们也可以将它渲染出来。秘诀就在于前面一点提到的match参数。我们可以根据这个参数来决定在匹配的时候渲染什么,不匹配的时候又渲染什么。
1 | // 在匹配时,容器的calss是light,<Home />会被渲染 |