【发布时间】:2020-05-06 03:16:29
【问题描述】:
我有两个 .jsx 文件代表它们各自的组件。
第一个是,Blog.jsx
import React from "react";
import '../assets/css/blog.css';
export const Blog = () => (
<div>
<h1>Hello Blog</h1>
</div>
)
及其各自的 CSS 文件 blog.css
div { background: #ff481f; }
第二个是Landing.jsx
import React from "react";
import '../assets/css/landing.css'
export const Landing = () => (
<div>
<h1>Hello Landing</h1>
</div>
)
及其各自的 CSS 文件 landing.css
div { background: #86ff2b; }
我在 App.js 文件中添加了路由并调用了这两个组件的实例,该文件是 React 应用程序的默认文件。运行应用程序后,当导航到组件时,我遇到了两个组件的背景颜色相同的问题(它仅加载 landing.css 并且永远不会更改)。
如何解决每个组件仅使用其各自的 .css 文件并加载它的问题?
【问题讨论】:
-
React 不是基于 MVC,所以你必须分配不同的类,否则最新的样式将覆盖以前的样式
-
@BILAL 你的意思是使用类组件而不是函数组件吗?
-
不,您使用哪种类型的组件都没有关系,每个组件的样式都不会独立。如果您需要为组件制作独特的样式,只需使用 id 即可