前端知识笔记(二十六)———React如何像Vue一样将css和js写在同一文件

简介: 前端知识笔记(二十六)———React如何像Vue一样将css和js写在同一文件

如果想在React中想要像Vue一样把css和js写到一个文件中,可以使用CSS-in-JS。

使用CSS-in-JS

下载

npm i styled-components

使用

就像写scss一样,不过需要声明元素的类型

基本语法及展示如下

import styled from "styled-components"
export default () => {
  const Father = styled.div`
    width: 200px;
    height: 200px;
    background: pink;
    span {
      font-size: 20px;
    }
    &: hover {
      background: skyblue;
    }
  `
  const Son = styled.span`
    color: #f8e;
  `
  return (
    <>
      <Father>
        <Son>我是Son</Son>
      </Father>
    </>
  )
}

也可以通过styled()选择要继承的样式,并且可以拿到状态。

import { useState } from "react"
import styled from "styled-components"
export default () => {
  const Father = styled.div`
    width: 200px;
    height: 200px;
    background: pink;
    span {
      font-size: 20px;
    }
    &: hover {
      background: skyblue;
    }
  `
  const Son = styled.span`
    color: #f8e;
  `
  const Footer = styled(Father)`
    display: ${({ isShow }) => (isShow ? "block" : "none")};
    padding: 20px;
    border: 1px solid #333;
    border-radius: 30px;
  `
  const [show, setShow] = useState(false)
  return (
    <>
      <Father>
        <Son>我是Son</Son>
      </Father>
      <button onClick={() => setShow(!show)}>点我控制Footer的显示/隐藏</button>
      <Footer isShow={show}>我是Footer</Footer>
    </>
  )
}
相关文章
|
2月前
|
JavaScript 前端开发 开发者
VUE 开发——Node.js学习(一)
VUE 开发——Node.js学习(一)
83 3
|
28天前
|
前端开发
create-react-app 如何使用 less/sass 和 react-css-modules?
本文详细介绍了在 create-react-app 项目中如何使用 less/sass 和 react-css-modules 来管理和应用样式。首先,通过安装相应依赖并配置 webpack 支持 less/sass;接着,介绍如何使用这些预处理器编写样式;最后,讲解了如何配置和使用 react-css-modules 实现样式的模块化管理,以及如何结合使用 less/sass 和 react-css-modules 提高开发效率和代码质量。
27 3
|
27天前
|
JavaScript 前端开发 开发者
JavaScript框架React vs. Vue:一场性能与易用性的较量
JavaScript框架React vs. Vue:一场性能与易用性的较量
33 0
|
2月前
|
前端开发 JavaScript
React Tailwind CSS
10月更文挑战第12天
18 1
|
2月前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
181 0
|
2月前
|
JavaScript
深入解析:JS与Vue中事件委托(事件代理)的高效实现方法
深入解析:JS与Vue中事件委托(事件代理)的高效实现方法
54 0
|
2月前
|
前端开发 容器
React 使用 CSS 样式
10月更文挑战第12天
38 0
|
2月前
|
JavaScript 前端开发
前端js,vue系统使用iframe嵌入第三方系统的父子系统的通信
前端js,vue系统使用iframe嵌入第三方系统的父子系统的通信
|
2月前
|
JSON 缓存 JavaScript
vue尚品汇商城项目-day01【1.vue-cli脚手架初始化项目生成文件的介绍】
vue尚品汇商城项目-day01【1.vue-cli脚手架初始化项目生成文件的介绍】
33 0
|
26天前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
25 1
JavaScript中的原型 保姆级文章一文搞懂