发生此现象的原因是
exact在父路由上提到了一个属性
<Route exact path="/" component={Landing} />因此,发生的事情是react-router看到了一条
/test匹配的路径,然后尝试从顶层开始进行匹配。它看到两条路线,一条是
exactly/,另一条是
/contribute。它们都不符合所需的路径,因此您会看到空白页
你需要写
<Route path="/" component={Landing} />因此,当您执行此操作时,它将看到部分
/匹配的内容
/test,然后尝试在要查找的
landing组件中找到匹配的路由。
还更改父Route的顺序,因为
Switch会渲染第一个匹配项,并且
/是部分匹配项,
/test因此将
/contribute无法工作
您的最终代码如下所示
const App = () => ( <BrowserRouter> <Provider store={store}> <Switch> <Route path="/contribute" component={Contribute} /> <Route path="/" component={Landing} /> </Switch> </Provider> </BrowserRouter>);


