React如何實現(xiàn)像Vue一樣將css和js寫在同一文件
更新時間:2024年01月03日 16:49:01 作者:田本初
這篇文章主要介紹了React如何實現(xiàn)像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()選擇要繼承的樣式,并且可以拿到狀態(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)}>點我控制Footer的顯示/隱藏</button>
<Footer isShow={show}>我是Footer</Footer>
</>
)
}

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
通過實例學(xué)習(xí)React中事件節(jié)流防抖
這篇文章主要介紹了通過實例學(xué)習(xí)React中事件節(jié)流防抖,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,,需要的朋友可以參考下2019-06-06
React-RouterV6+AntdV4實現(xiàn)Menu菜單路由跳轉(zhuǎn)的方法
這篇文章主要介紹了React-RouterV6+AntdV4實現(xiàn)Menu菜單路由跳轉(zhuǎn),主要有兩種跳轉(zhuǎn)方式一種是編程式跳轉(zhuǎn)另一種是NavLink鏈接式跳轉(zhuǎn),每種方式通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-08-08
react+antd4實現(xiàn)優(yōu)化大批量接口請求
這篇文章主要為大家詳細介紹了如何使用react hooks + antd4實現(xiàn)大批量接口請求的前端優(yōu)化,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下2024-02-02
關(guān)于getDerivedStateFromProps填坑記錄
這篇文章主要介紹了關(guān)于getDerivedStateFromProps填坑記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06

