html - 将 css 文件绑定(bind)到 ReactJs 中的组件,例如 Angular 2+

标签 html css angular reactjs separation-of-concerns

在 Angular 2+ 中,我们有 @component 指令,我们可以在其中传递元素选择器、css 文件、html 模板文件......我们通过以下代码片段完成。

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {

  constructor() { }

  ngOnInit() {
  }
}

在 Angular 2+ 中,CSS 样式仅适用于 HomeComponent 元素。因此,我可以为不同的组件添加不同的样式,而不会相互影响。

AngularLayout.html

<section>
    <app-home></app-home>
    <app-about></app-about>
    <app-contact></app-contact>
</section>

对于 ReactJs,我尝试向不同的组件添加样式,例如,

LayoutHome.js

import React, { Component } from 'react';
import './LayoutHome.css';

class LayoutHome extends Component {
    render() { return <span>home</span>; }
}

export default LayoutHome;

LayoutAbout.js

import React, { Component } from 'react';
import './LayoutAbout.css';

class LayoutAbout extends Component {
    render() { return <span>about</span>; }
}

export default LayoutAbout;

ReactLayoutApp.js

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import LayoutHome from './components/LayoutHome';
import LayoutAbout from './components/LayoutAbout';

class App extends Component {
  render() {
    return (
      <section>
        <LayoutHome/>
        <LayoutAbout />
      </section>
    );
  }
}

export default App;

例如,让'./LayoutAbout.css'具有以下内容

span {
   color: blue;
}

'./LayoutHome.css' 具有以下内容

span {
   color: red;
}

CSS 样式相互折叠。

在 ReactJs 中将 CSS 文件标记为本地组件的更简洁的方法是什么?

最佳答案

您或许应该再添加一些 CSS 选择器。 例如,您的 LayoutAbout.css 看起来像

.about span {
   color: red;
}

还有你的 LayoutHome.css

.home span {
    color: blue;
}

关于html - 将 css 文件绑定(bind)到 ReactJs 中的组件,例如 Angular 2+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54341483/

相关文章:

html - 使 div CSS "display: table-cell"仅与 div 中的文本一样宽

javascript - 使用 jquery 延迟 css 转换

angular - 通过组件共享数据

angular - 如何检查 typescript + Angular 中的变量类型?

javascript - 如何使用 JavaScript 将格式应用于 HTML 表格中的 <td>?

html - 盒子从原来的位置移动

php - 如何从表单中获取int而不是字符串?

html - 父元素错误地计算了其子元素的宽度

HTML,flex,连续两个 div,强制一个 div 的大小更小

javascript - 如何在 Angular 2 中获取 div 中所有元素的引用?