【发布时间】:2022-01-27 15:54:13
【问题描述】:
我是 React 新手,所以我不确定为什么会发生这种情况。使用 React Router,我有三个路由,/、/signup 和 /login,并且每个组件中的 css 导入溢出到其他组件的 css 中,破坏了样式。在这种情况下,而不是 div 元素 word 是每个组件的 css 中描述的颜色,它们都显示为绿色,这应该只发生在 Signup 组件中。我该怎么做才能解决这个问题?
App.js
import HomePage from './pages/HomePage/HomePage'
import LoginPage from './pages/LoginPage/LoginPage'
import SignupPage from './pages/SignupPage/SignupPage'
import {BrowserRouter as Router, Switch, Route} from 'react-router-dom'
function App() {
return (
<Router>
<Switch>
<Route path="/" exact component={HomePage}/>
<Route path="/signup" component={SignupPage}/>
<Route path="/login" component={HomePage}/>
</Switch>
</Router>
)
}
export default App;
LoginPage.js
import { React } from 'react'
import "./LoginPage.css"
export default function LoginPage(){
return(
//In css file, word is red, but comes out green instead
<div className="word">login</div>
)
}
SignupPage.js
import { React } from 'react'
import "./SignupPage.css"
export default function SignupPage(){
return(
//In css file, word is green
<div className="word">signup</div>
)
}
主页.js
import React, { useState } from 'react'
import "./HomePage.css"
export default function HomePage() {
return (
//In css file, word is hotpink, but comes out green instead
<div className="word">Home</div>
)
有什么我需要添加到我的 App.js 文件中的吗?
【问题讨论】:
-
尚不清楚根本问题是什么。为什么样式如此不同会产生问题?具体是是什么问题?
-
我会尽量描述性强,描述我的问题比我想象的要难一些。我遇到的问题是,在每条路线上,每个组件的 css 都会溢出到其他组件中。例如,简单地将元素
<div className="word">example</div>添加到每个组件并在 css 文件中将其颜色分别更改为红色、蓝色和黄色,导致example在每个路由中为绿色。这说明了什么? -
我认为分享您的 CSS 定义将有助于理解问题
-
@DarienMiller 有几种方法可以解决这个问题,例如 CSS 模块、样式化组件或拥有每个组件唯一的父类。
标签: reactjs react-router