使用Match
Miss
组件的react-router
和Router
组件有什么好处?我似乎无法在react-router docs中找到有关此内容的任何文档。
答案 0 :(得分:40)
<Match>
和<Miss>
是React Router v4 alpha版本中的组件。
在测试版中,<Match>
已重命名为<Route>
(其道具已更改,以便pattern
现在为path
而exactly
为{{1} }})。 exact
组件已完全删除。相反,您应该使用<Miss>
语句,该语句只会呈现匹配的第一个<Switch>
(或<Route>
)。您可以添加无路径组件作为<Redirect>
路由的最后一个子组件,并且当前面的<Switch>
没有匹配时它将呈现。
您可以查看API documentation了解详情。
<Route>
答案 1 :(得分:1)
要添加到上一篇文章,您将在react-router-dom
中找到此信息。它不再位于react-router核心库中。
这是我找到的用于反应路由的模式。基本上和以前的海报一样。您需要构建其他组件。
import {BrowserRouter as Router, Route, Switch} from 'react-router-dom';
{/ *在此处导入您的组件* /}
class Root extends React.Component{
render(){
return(
<div>
<Router>
<div>
<Switch>
<Route exact path='/' component={App} /> )} />
<Route path="/some-component" component={SomeComponent} />
<Route component={NotFound}/>
</Switch>
</div>
</div>
); }
}
render(<Root/>, document.querySelector('#main'));