【发布时间】:2020-09-02 07:50:26
【问题描述】:
据我所知,我来自Angular Background。每个组件都有它自己的美,直到我们import a CSS file inside it那些CSS类不应该被应用,即使我们将HTML元素添加到组件in case we have not added or imported any CSS files for classes used inside this new/2nd component。
我在 React 中所做的事情是由 2 个组件组成的 - Home1.js 和 Home2.js。当我将 a css file named Home.css to Home1 Component 和 NOT 导入到 Home2.js component 时 - 这些 CSS 类在世界上是如何影响应用 even too Home2 Component 的。这太荒谬了。
这就是我导入someFile.css **specifically** to the component where I want its affect to be there 的原因。这提供了一种encapsulation affect,我看到它失败了。现在,有人可以向我解释一下,在我不导入 someFile.css 的地方,这些类也有影响吗?
Home1.js
import React, { Component } from 'react';
import './home.css';
class Home1 extends Component {
render() {
return (
<div>
<div className="red">1...</div>
<div className="green">2...</div>
<button>click</button>
</div>
)
}
}
export default Home1;
Home2.js
import React, {useState} from 'react';
const Home2 = () => {
return (
<div>
<div className="red">1..</div>
<div className="green">2...</div>
<button>click</button>
</div>
)
}
export default Home2;
结果:
【问题讨论】:
-
您需要将样式设置为组件的范围。 How to make React CSS import component-scoped?
标签: javascript reactjs ecmascript-6