У меня есть App
Компонент, который выполняет всю мою маршрутизацию для моего проекта, куда я импортирую все необходимые компоненты.
import React from "react";
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import './App.scss';
import Login from "../../login/Login";
import Overview from "../../overview/Overview";
import SubNav from "../../subnav/SubNav";
import ForgotPassword from "../../forgot-password/ForgotPassword";
const App = () => {
return (
<div className="App">
<Router>
<div className="App-container">
<Switch>
<Route path="/login" component={Login} exact />
<Route path="/forgotpassword" component={ForgotPassword} exact />
<Route path={"/"} component={SubNav} />
</Switch>
<Route exact path={"/"} component={Overview} />
<Route path={"/overview"} component={() => <Overview />} />
</div>
</Router>
</div>
);
}
export default App;
Например, в моем Login
компоненте у меня есть следующий импорт ...
import React from 'react';
import './Login.scss';
import LoginBenefits from './LoginBenefits';
import LoginFormContainer from './LoginFormContainer';
У меня возникла проблема с импортом Login.scss
В этом файле я делаю импорт определенных других файлов scss, связанных с Login
Component. Скажем, например, у меня был один, который стилизовал класс под названием .Tabs
@import "../../scss/_variables";
$Tabs-padding: 15px;
@import "../tabs/Tabs.scss";
.Login {....
Теперь, например, если в компоненте ForgotPassword
, если бы я добавил div с className
из Tabs
, он бы тогда правильно его стилизовал. Это не то, что я хочу, это означает, что все, что импортируется в компоненте Login
, загружается по всему проекту, что означает, что я не могу переопределить любые переменные SASS без необходимости снова импортировать тот же файл SASS и сделать пакет css в веб-пакете файл больше, чем нужно.
Наверное, мой вопрос: как мне содержать Login.scss
для импорта только тогда, когда компонент Login
действительно рендерится?
Или я неправильно прохожу весь импорт?