具有相似路径(固定和动态路径参数)的 React Router v4 组件是 "overlapping"
React Router v4 components with similar paths (fixed and dynamic path param) are "overlapping"
我的路线是这样设置的:
<Route path="/chat/:id" component={Chat} />
<Route path="/chat/new" component={NewChat} />
当我转到 chat/new
时,它也显示 {Chat}
。有没有办法在我去/chat/new
的时候专门调用NewChat
?
您将使用 Switch
并重新排序您的路线,因为 Switch
呈现第一个匹配的 Route
<Switch>
<Route path="/chat/new" component={NewChat} />
<Route path="/chat/:id" component={Chat} />
</Switch>
<Route
path="/chat/:id/"
render={ props => {
if( props.location.pathname != '/chat/new') return <Chat {...props} />
else return null;
} }
/>
<Route path="/chat/new" component={NewChat} />
取决于您的设置,这也可能是解决方案
我的路线是这样设置的:
<Route path="/chat/:id" component={Chat} />
<Route path="/chat/new" component={NewChat} />
当我转到 chat/new
时,它也显示 {Chat}
。有没有办法在我去/chat/new
的时候专门调用NewChat
?
您将使用 Switch
并重新排序您的路线,因为 Switch
呈现第一个匹配的 Route
<Switch>
<Route path="/chat/new" component={NewChat} />
<Route path="/chat/:id" component={Chat} />
</Switch>
<Route
path="/chat/:id/"
render={ props => {
if( props.location.pathname != '/chat/new') return <Chat {...props} />
else return null;
} }
/>
<Route path="/chat/new" component={NewChat} />
取决于您的设置,这也可能是解决方案