Как я могу использовать RegEx с React Router? - PullRequest
0 голосов
/ 14 декабря 2018

Я работаю над проектом React и столкнулся с проблемой.В основном мое приложение использует представление панели мониторинга по большинству путей, за исключением этих:

Я хочу направить эти маршруты с помощью регулярного выражения, но до сих пор я только мог заставить его работать с корневым каталогом.

Вот мой текущий код:

 render() {
return (
  <div>
    <ScrollToTop>
      <Switch>
        <Route path="/" component={HomePage} exact />
        <Route path="/signin" component={SignIn} />
        <Route path="/signup" component={SignUp} />
      </Switch>
      <Route
        path="/(.+)"
        render={() => (
          <React.Fragment>
            <ResponsiveMenu />
            <Header />
            <SidePanel profile={profile} />
            <HamburgerMenu />
            <div className="container-dashboard">
              <Switch>
                <Route exact path="/dashboard" component={Dashboard} />
                <Route path="/log" component={LogDashboard} />
              </Switch>
            </div>
          </React.Fragment>
        )}
      />
    </ScrollToTop>
  </div>
);

Мой вопрос: могу ли я добиться этого с помощью регулярного выражения?Если так, какое регулярное выражение мне нужно использовать (я сосу с RegEx)?

А если нет, как я могу заставить это работать?Должен ли я создать компонент (WithDashboard), который принимает другой компонент в качестве реквизита и отображает компонент внутри div панели мониторинга вместе с заголовком и боковой панелью?Или мне следует использовать компонент более высокого порядка withRouter () и использовать имя props.location.pathname?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...