gpt4 book ai didi

javascript - ReactJS - 未呈现 react 路由器嵌套路径

转载 作者:行者123 更新时间:2023-11-30 16:28:54 24 4
gpt4 key购买 nike

我无法解决这个问题,我无法呈现我从嵌套路径调用的组件的HTML,比如/page/detail

我的路线树

render(
(<Router history={history}>
<Route path="/" component={App}>
<IndexRoute component={Index}/>
<Route path="page" component={Page}>
<Route path="/page/detail" component={Detail} />
</Route>
</Route>
</Router>),
document.getElementById('main')
)

我的 {App} 组件呈现这个:

render() {
return (
<div>
<nav className="navbar">
<ul className="nav navbar-nav navbar-right">
<li><Link className="menu-link" ref="menu" to="/page">Page Test</Link></li>
</ul>
</nav>
<div id="content-wrapper">{this.props.children}</div>
</div>
)
}

我的路线 /page/detail 是从组件 {Page} 内的 Link 调用的,但是如果我访问此链接,我会看到只有 {Page} 组件呈现的内容。我已经用 react-routers 搜索了一些关于嵌套路由的解决方案,但我没有找到答案。

更新:

通过这个解决方案,我呈现了我的 {Detail} 组件的 html:我已将其插入 {Page} 组件

{this.props.children || <div>My Detail page</div> }

更新 2

在我的 {Page} 组件中,我插入了一个 jQuery plugin .

mix() {
$("#filter-gallery").mixItUp();
}

destroy() {
$('#filter-gallery').mixItUp('destroy');
}

componentDidMount() {
this.mix();
}

componentWillUnmount() {
this.destroy();
}

此插件仅适用于 {Page} 刷新页面,如果我导航到/page/detail 然后返回/page,则插件不起作用。

最佳答案

我通过这种方式设置路由找到了解决方案:

<Route path="studio" component={Studio} />
<Route path="studio/detail" component={Calendar} />

关于javascript - ReactJS - 未呈现 react 路由器嵌套路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33649322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com