Почему реагирующая загрузка делает восстановление настолько медленным в моем проекте?

Я работаю над проектом, который использовал реагирующую загрузку следующим образом:

const routes = [{component: 'a'}, {component: 'b'}] 
routes.forEach(data => {
  data.cmp = Loadable({
  loader: () => import('./Approve/' + data.component),
  loading: () => <Loading />
 })
})

JSX похож на:

<Switch>
  <Route path="/login" component={Login} />
  <Route path="/" render={(props) => {
    return (
      <CoreLayout>
        <Content>
        {routes.map(route => {

          return (
            <Route key={route.component} path={'/' + route.component} component={route.cmp} />
          )
        }) }
        </Content>
      </CoreLayout>
    )
  }} />
</Switch>

Если я изменяю файл в проекте, ему нужно 30 секунд, чтобы перезагрузить страницу, но при записи таким образом время перезагрузки сократится до 5 секунд.

const a = Loadable({
 loader: () => import('./Approve/a'),
 loading: Loading,
});

const b = Loadable({
 loader: () => import('./Approve/b'),
 loading: Loading,
});

<Switch>
  <Route path="/login" component={Login} />
  <Route path="/" render={(props) => {
    return (
      <CoreLayout>
        <Content>
          <Route  path={'/a'} component={a} />
          <Route  path={'/b'} component={b} />
        </Content>
      </CoreLayout>
    )
  }} />
</Switch>

Я не хочу импортировать компонент один за другим, как это, но я не знаю, почему это приведет к такой медленной перезагрузке, когда я изменяю любой файл. Что вызвало это и как я могу решить эту проблему? (В реальном случае маршруты - это длинный массив)

0 ответов

Другие вопросы по тегам