Reactjs react.js设置默认路由
我在index.js中有一段代码: 它直接落在/a上,我也可以转到/b和/c 如果我尝试转到“/something”,它不会呈现任何内容,因为该路径的组件未定义 我想要实现的是,我不想给'/something'访问权限,尽管它什么也不给,什么也不呈现。我想如果有人试图访问'/something',他将自动重定向到'/default'Reactjs react.js设置默认路由,reactjs,react-router,react-router-dom,Reactjs,React Router,React Router Dom,我在index.js中有一段代码: 它直接落在/a上,我也可以转到/b和/c 如果我尝试转到“/something”,它不会呈现任何内容,因为该路径的组件未定义 我想要实现的是,我不想给'/something'访问权限,尽管它什么也不给,什么也不呈现。我想如果有人试图访问'/something',他将自动重定向到'/default' 是否可能?通配符可用于匹配任何路线,请检查以下示例: const routing = ( <Router> <Switch
是否可能?通配符可用于匹配任何路线,请检查以下示例:
const routing = (
<Router>
<Switch>
<Route exact path="/">
<Redirect to="/a"/>
</Route>
<Route exact path="/a" component={A}/>
<Route exact path="/b" component={B}/>
<Route exact path="/c" component={C}/>
<Route path="*">
<Redirect to="/a"/>
</Route>
</Switch>
</Router>
)
是的,这就是这次会议的目的。开关将只渲染其一个子节点。您可以这样做:
const routing = (
<Router>
<Switch>
<Route exact path="/">
<Redirect to="/a" />
</Route>
<Route path="/a" component={A} />
<Route path="/b" component={B} />
<Route path="/c" component={C} />
<Route render={
()=>(<Redirect to="/a"/>)}
/>
</Switch>
</Router>
)
最后一个路由没有路径,因此它将匹配每个url。但是,由于交换机的原因,如果任何其他路由匹配,它将不会被渲染。这是一个极好的解决方案,非常感谢。。。你提前了47秒,这让你接受了。。。
const routing = (
<Router>
<Switch>
<Route exact path="/">
<Redirect to="/a" />
</Route>
<Route path="/a" component={A} />
<Route path="/b" component={B} />
<Route path="/c" component={C} />
<Route render={
()=>(<Redirect to="/a"/>)}
/>
</Switch>
</Router>
)