Предотвращение реакции маршрутизатора от маршрутов загрузки до загрузки Redux - PullRequest
0 голосов
/ 10 ноября 2018

У меня довольно простая установка с моим приложением, которое выглядит примерно так:

<Provider store={store}>
  <BrowserRouter>
    <App/>
  </BrowserRouter>
</Provider>

И переключатель маршрутизатора, как

  <Switch>
    <Route path={'/test'} component={comp1}/>
    <Route exact path={'/'} component={comp2}/>
  </Switch>

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

this.props.data.size > 0

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

1 Ответ

0 голосов
/ 10 ноября 2018

Ваша общая идея checking if the data is loaded in redux вроде бы в порядке, единственное, что я бы вам предложил, - это заключить эту логику в компонент-оболочку:

export const CheckLoadedApp = (props) => this.props.data.lenght ? <App /> : 'Loading...';

И соответственно измените свою кодовую базу:

<Provider store={store}>
  <BrowserRouter>
    <CheckLoadedApp />
  </BrowserRouter>
</Provider>

Но, до вас:)

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