react-router 抽离时,匹配不到路由?
router/index.js:
import Activity from './activity'
import Others from './others'
export default class AppRouter extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<BrowserRouter>
<Switch>
<Activity {...this.props}/>
<Others/>
</Switch>
</BrowserRouter>
)
}
}
import {Route} from 'react-router-dom'
import Activity_haluo from '@/pages/activity/haluo/'
class activity extends React.Component{
constructor(p){
super(p)
}
render(){
return (
<span>
<Route exact path={"/activity/haluo"} component={Activity_haluo} />
</span>
)
}
}
export default activity
import {Route} from 'react-router-dom'
import Activity_haluo from '@/pages/activity/haluo/'
class activity extends React.Component{
constructor(p){
super(p)
}
render(){
return (
<span>
<Route exact path={"/others/haluo"} component={Activity_haluo} />
</span>
)
}
}
export default activity
Activity和Others只能匹配写在前面的路径
就是说,<Activity>写在<Others/>前面,就只能匹配<Activity>里的路径,
不知道是哪里配置有问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
贴个创建Route的源代码,下面参数element就是Router的子元素。
可以看到这里只判断了Fragment,Redirect两种子元素类型。
但是兄弟你给Route包了span标签。
这里的element就是span元素。所以创建的路由不正确。
修改<span><Route /></span>为:
<><Route /></>即可正确解析。