React如何像Vue一样将css和js写在同一文件

news/2024/7/15 20:12:05 标签: javascript, react.js, css

如果想在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>
    </>
  )
}

在这里插入图片描述


http://www.niftyadmin.cn/n/5235908.html

相关文章

分享一下docker的使用心得

好的&#xff0c;以下是一篇关于Docker使用心得的博客&#xff0c;希望能够帮助到大家。 Docker是一款开源的容器化平台&#xff0c;它可以让开发者将应用程序以及所有依赖项打包到一个可移植的容器中&#xff0c;然后将其部署到任何Docker环境中。Docker的使用可以带来很多好处…

springboot(ssm编程语言在线学习平台 在线课程系统Java(codeLW)

springboot(ssm编程语言在线学习平台 在线课程系统Java(code&LW) 开发语言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.7&#xff08;或8.0&am…

Docker Registry(镜像仓库)——4

目录&#xff1a; 什么是 Docker Registry镜像仓库生活案例镜像仓库分类镜像仓库工作机制常用的镜像仓库镜像仓库命令 命令清单docker logindocker pulldocker pushdocker searchdocker logout镜像命令[部分] docker imagesdocker image inspectdocker tag容器命令[部分] dock…

基于SSM的网上手机销售系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

SCAU:前一个和后一个字符

前一个和后一个字符 Time Limit:1000MS Memory Limit:65535K 题型: 编程题 语言: G;GCC;VC 描述 编写程序&#xff0c;输入一个数字字符&#xff0c;输出其前一个和后一个的数字字符&#xff0c;如果输入的是0前一个输出 “first”&#xff0c;9后一个则输出“last”&…

Python 错误 TypeError: __str__ Returned Non-String but Printing Output

本文旨在解决当我们尝试打印字符串而不是在函数中使用 return 语句时出现的问题。 Python 返回非字符串错误但打印输出 以下代码显示了 TypeError: str returned non-string&#xff0c;但它仍然打印输出。 示例代码&#xff1a; class xy:def __init__(self, x, y):self.x …

编程实战:类C语法的编译型脚本解释器(五)变量表

系列入口&#xff1a; 编程实战&#xff1a;类C语法的编译型脚本解释器&#xff08;系列&#xff09;-CSDN博客 本文介绍变量表的实现。 目录 一、变量表的组织结构 二、代码 2.1 变量块 2.2 变量表&#xff08;栈&#xff09; 2.3 变量层级 2.4 变量查找 一、变量表的…

Python 压缩打包文件/文件夹的方法

介绍 实现压缩打包文件/文件夹的方法&#xff0c;分两种类型处理&#xff0c;打包文件是需要传入文件的路径&#xff0c;打包文件夹是传入文件夹的路径 实现压缩打包的代码 import os import shutil from zipfile import ZipFile# 压缩打包文件 def compress_pack_file(zip_pa…