react-router4, “/”的子路由“/test”渲染不出来,未匹配路由,帮忙看下

发布于 2022-09-07 08:26:52 字数 1308 浏览 18 评论 0

贴相关代码:

i.app.jsx

render(){
    return (
     <HashRouter history={hashHistory}>
                <Switch>
                <Route path="/" exact component={Home}></Route>
                <Route path="/info" exact component={Info}></Route>
                </Switch>
    </HashRouter>
    )
}

2.home.jsx

import Test from "@/test.jsx";

handleClick = () => {
    this.props.history.push(`/test`);
};
render(){
    return (
        <button onClick={this.handleClick.bind(this)}>测试嵌套路由</button >
        <Route path=`/test` component={Test} />
    )
}

3.test.jsx

render(){
    return (
        <div>子路由测试页</div>
    )
}

export default withRouter(Test);

问题描述: 打开http://localhost:3000/#/ 的时候,没有问题,当我点击按钮测试子路由的时候,路由为http://localhost:3000/#/test 但是并没有渲染,没有匹配到,请问是怎么回事,网上的方法都试了,withRouter history之类,并不能解决。
但是info嵌套路由相关就可以,‘/’是不能有子路由吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

平定天下 2022-09-14 08:26:52
<Route path="/test" exact component={Test}></Route>

emmm 好像是这样的

你要把他放在总路由下

<HashRouter history={hashHistory}>
                <Switch>
                <Route path="/" exact component={Home}></Route>
                <Route path="/info" exact component={Info}></Route>
                <Route path="/test" exact component={Test}></Route>
                </Switch>
 </HashRouter>
红颜悴 2022-09-14 08:26:52

你好,我也遇到了你的这个问题,请问你解决了么

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文