Загружать CSS компонента, только если он отображается - PullRequest
1 голос
/ 03 апреля 2020

В проекте у меня есть разные компоненты с различным css импортом, и в приложении я использую реагирующий маршрутизатор для определения путей. Когда я обращаюсь к / anycomponent, я имею их импорт в голове, но все css других компонентов также go там. Есть ли способ импортировать css компонента только тогда, когда он отображается?

import React from 'react';
import { BrowserRouter, Route, Switch } from 'react-router-dom';

import component1 from './pages/component1';
import component2 from './pages/component2';

export default function Routes() {
    return (
        <BrowserRouter>
            <Switch>
                <Route path="/" exact component={component1} />
                <Route path="/component2" component={component2} />
            </Switch>
        </BrowserRouter>
    );
}

1 Ответ

0 голосов
/ 03 апреля 2020

Попробуйте лениво загрузить компонент:

const Component1 = lazy(() => import('./pages/component1'));
const Component2 = lazy(() => import('./pages/component2'));

<BrowserRouter>
    <Suspense fallback={<div>Loading...</div>}>
      <Switch>
        <Route exact path="/" component={Component1 }/>
        <Route path="/component2" component={Component2 }/>
      </Switch>
    </Suspense>
</BrowserRouter>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...