網(wǎng)站權(quán)重劃分seo 是什么
如果想在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()選擇要繼承的樣式,并且可以拿到狀態(tài)。
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)}>點(diǎn)我控制Footer的顯示/隱藏</button><Footer isShow={show}>我是Footer</Footer></>)
}