【发布时间】:2020-07-01 20:24:19
【问题描述】:
我的应用由以下组件构成。
<App>
<Header/>
<Content/>
<Footer/>
</App
这是我的应用组件,
function App() {
return (
<Router>
<div className="App">
<Header/>
<Content/>
<Footer/>
</div>
</Router>
);
}
这是标题,
const Header = () => (
<header className="homepage-header">
<div className="container containerLogo">
<img src={logo} alt="Logo"/>
</div>
<div className="container containerNav">
<ul>
<li><NavLink to="/"> Overview </NavLink></li>
<li><NavLink to="/how-it-works">How it works</NavLink></li>
<li><NavLink to="/plans-and-pricing">Plans & Pricing</NavLink></li>
</ul>
</div>
<div className="container containerButton">
<button className="signInButton">Sign In</button>
<button className="signUpButton">Sign Up</button>
</div>
</header>
);
这是我的内容,
const Content = () => (
<Switch>
<Route path="/about"><Home/></Route>
<Route path="/how-it-works"><Works/></Route>
<Route path="/plans-and-pricing"><Plans/></Route>
</Switch>
);
这不起作用 - 没有渲染任何组件。
如何从Header 路由到Content 内的不同组件?
我了解路由的工作原理并将使用客户端路由。指向不同页面的链接在这里是锚标记,因为我不确定要在 BrowserRouter 中包装什么组件。
我是 React 的新手,所以这个问题。
【问题讨论】:
-
reacttraining.com/react-router/web/guides/quick-start - 顶部的代码有几乎相同的用例示例,如果您不明白其中的任何部分,请告诉我
-
@tachko 我不确定你是否理解我的要求。我的路由器位于 Header 内,它在 Content 组件内路由不同的组件。您提供的示例没有展示类似的内容。组件在路由器所在的同一组件内呈现。
-
你使用
react-router-dom吗? -
@MartialAnouman 是的,我正在使用
react-router-dom -
看起来您没有任何在根级别呈现的组件,即
exact path = "/"。能否在 Home 组件上临时设置上述路径。