首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过数组循环创建路由。

通过数组循环创建路由。
EN

Stack Overflow用户
提问于 2021-03-10 12:40:23
回答 1查看 758关注 0票数 0

我有一个单独的routes.js:

代码语言:javascript
复制
export const routes = [
    {pathname: "/", exact: true, name: "Home Page", id: "home", component: Home},
    {pathname: "/about", exact: true, name: "About Us", id: "about", component: About},
    {pathname: "/services", exact: true, name: "Services", id: "services", component: Services},
    {pathname: "/portfolio", exact: true, name: "Portfolio", id: "portfolio", component: Portfolio},
    {pathname: "/careers", exact: true, name: "Careers", id: "careers", component: Careers},
    {pathname: "/partners", exact: true, name: "Partners", id: "partners", component: Partners},
    {pathname: "/contact", exact: true, name: "Contact Us", id: "contact", component: Contact},
    {pathname: "/blog", exact: true, name: "Blog", id: "blog", component: Blog},
    {pathname: "/not-found", exact: true, name: "Not Found", id: "not-found", component: NotFound},
];

--它是像这样导入我的App.js的:

代码语言:javascript
复制
import { routes } from './routes.js';

const App = (props) => {     

  return (
    <div className='app-wrapper'>
      <Header />
      <BgVideo />          
        <Switch>
          <Route path={routes[0].pathname} exact component={routes[0].component} />
          <Route path={routes[1].pathname} exact component={routes[1].component} />
          <Route path={routes[2].pathname} exact component={routes[2].component} />
          <Route path={routes[3].pathname} exact component={routes[3].component} />
          <Route path={routes[4].pathname} exact component={routes[4].component} />
          <Route path={routes[5].pathname} exact component={routes[5].component} />
          <Route path={routes[6].pathname} exact component={routes[6].component} />
          <Route path={routes[7].pathname} exact component={routes[7].component} />  
          <Route path={routes[8].pathname} exact component={routes[8].component} />                           

          <Redirect to='/not-found' />
        </Switch>
    </div>
  );
};

现在这个方法可以像预期的那样工作,但是我希望循环遍历路由数组,而不是重复<Route/> 9次。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-10 12:42:53

代码语言:javascript
复制
<Switch>
  {routes.map(route =>
     <Route key={route.id} path={route.pathname} exact component={route.component} />
  )}
  <Redirect to='/not-found' />
</Switch>

这是基本的反应材料,你应该通过一个入门教程是我的建议。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66564989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档