Как применить родительский класс ко всем маршрутам BrowserRouter? - PullRequest
0 голосов
/ 15 октября 2018

Упрощенная версия того, что я пытаюсь сделать, выглядит следующим образом:

class App extends Component {
  render() {
    return (
      <BrowserRouter>
        <div className="randomClassName">
          <Switch>
            <Route exact path="/" component={Dashboard} />
          </Switch>
        </div>
      </BrowserRouter>
    );
  }
}

Этот шаблон отлично работает в разработке, но при сборке для производства он зависает при загрузке первоначального маршрута "/".

В этом случае родительский класс будет представлять некоторую настраиваемую информацию о стилях, извлекаемую из базы данных, и я знаю, что есть пакеты npm, которые я могу использовать для непосредственного управления компонентами head или style.Однако мне бы очень хотелось узнать, почему это не работает и почему это происходит только в конфигурации сборки.

1 Ответ

0 голосов
/ 15 октября 2018

Попробуйте использовать Redirect следующим образом.На самом деле это зависит от конфигурации сервера, от того, как он настроен для обслуживания вашего index.html.Можете ли вы поделиться информацией о сервере, которую вы используете в dev env и prod env в комментарии?Между тем, ниже следует исправить проблему.

<BrowserRouter>
        <div className="randomClassName">
          <Switch>
            <Route exact path="/dashboard" component={Dashboard} />
            <Redirect exact from="/" to="/dashboard" />
          </Switch>
        </div>
      </BrowserRouter>
...