gpt4 book ai didi

javascript - React 多页面路由

转载 作者:行者123 更新时间:2023-11-28 04:22:02 26 4
gpt4 key购买 nike

我正在使用 React 构建一个多页面应用程序。我有三个组件。 Header 将出现在所有页面上,并且 Page1Page2 将在标题下方呈现为不同的页面。 标题看起来像这样:

class Header extends React.Component {
return (
<header component HTML code...>
{this.props.children} // this is where Page1 and Page2 will render
// depending on the URL
);
}

我的路由器组件如下所示(我正在使用 react-router-dom 包):

const routes = (
<BrowserRouter>
<Switch>
<Route path="/" component={Header} />
<Route path="/welcome" component={Page1} />
<Route path="/default" component={Page2} />
</Switch>
</BrowserRouter>
);

访问 / 会呈现 header ,但 /welcome/default 返回 404。我尝试使用嵌套路由执行此操作:

<BrowserRouter>
<Route component={Base}>
<Route path="/welcome" component={Page1}/>
<Route path="/landing" component={Page2}/>
</Route>
</BrowserRouter>

这会产生错误 -

You should not use <Route component> and <Route children> in the same route; <Route children> will be ignored

有人可以指出我做错了什么吗?有更好的方法来实现我想要的吗?

最佳答案

试试这个:

const routes = () =>(
<BrowserRouter>
<div>
<Header />
<Route path='/welcome' exact component={Page1} />
<Route path='/default' exact component={Page2} />
</div>
</BrowserRouter>
)

由于我们没有为Header指定任何Route,因此无论路径如何,它都会一直渲染

关于javascript - React 多页面路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45359394/

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