React?中如何將CSS?visibility?屬性設(shè)置為?hidden
在 React 中將 CSS visibility 屬性設(shè)置為 hidden:
- 在指示元素是否應(yīng)該可見(jiàn)的狀態(tài)中存儲(chǔ)一個(gè)布爾值。
- 有條件地在元素的樣式屬性中設(shè)置可見(jiàn)性屬性。
- 例如,
style={{visibility: isVisible ? “visible”:“hidden”}}
。
import {useState} from 'react'; export default function App() { const [isVisible, setIsVisible] = useState(true); const handleClick = event => { // ??? toggle visibility setIsVisible(current => !current); }; return ( <div> <div style={{visibility: isVisible ? 'visible' : 'hidden'}}> <h2>website: zadmei.com</h2> </div> <button onClick={handleClick}>Toggle visibility</button> </div> ); }
我們使用 useState
掛鉤來(lái)存儲(chǔ)一個(gè)布爾值,指示元素是否應(yīng)該可見(jiàn)。
每次單擊按鈕元素時(shí),都會(huì)切換 isVisible 布爾值,但這可以通過(guò)任何其他方式觸發(fā)。
注意
,我們向setIsVisible
傳遞了一個(gè)函數(shù)。 這很重要,因?yàn)槲覀儌鬟f給setIsVisible
的函數(shù)保證會(huì)使用isVisible
布爾值的當(dāng)前(最新)值來(lái)調(diào)用。
如果新?tīng)顟B(tài)是使用先前狀態(tài)計(jì)算的,則可以將函數(shù)傳遞給 setState()
。
div 元素的 style 屬性的可見(jiàn)性屬性是使用三元運(yùn)算符有條件地設(shè)置的。
三元運(yùn)算符與 if/else
語(yǔ)句非常相似。
如果問(wèn)號(hào)左邊的值為真,則運(yùn)算符返回冒號(hào)左邊的值,否則返回冒號(hào)右邊的值。
const result1 = 5 === 5 ? 'yes' : 'no'; console.log(result1); // ??? "yes" const result2 = 5 === 10 ? 'yes' : 'no'; console.log(result2); // ??? "no"
如果 isVisible
狀態(tài)變量存儲(chǔ)了一個(gè)真值,我們將 visibility
屬性設(shè)置為 visible。 否則,它被設(shè)置為 hidden。
如果我們依賴(lài)為樣式設(shè)置類(lèi)名,也可以使用相同的方法。
import {useState} from 'react'; // ??? import css file import './App.css'; export default function App() { const [isVisible, setIsVisible] = useState(true); const handleClick = event => { // ??? toggle visibility setIsVisible(current => !current); }; return ( <div> <div className={isVisible ? 'visible' : 'hidden'}> <h2>Some content here</h2> </div> <button onClick={handleClick}>Toggle visibility</button> </div> ); }
下面是定義 visible 和 hidden 類(lèi)的css。
.visible { visibility: visible; } .hidden { visibility: hidden; }
上面的代碼片段使用類(lèi)而不是 style 屬性實(shí)現(xiàn)了相同的結(jié)果。
如果要設(shè)置類(lèi)的元素也有不同的類(lèi),請(qǐng)使用模板字符串。
import {useState} from 'react'; // ??? import css file import './App.css'; export default function App() { const [isVisible, setIsVisible] = useState(true); const handleClick = event => { // ??? toggle visibility setIsVisible(current => !current); }; return ( <div> <div className={`my-class ${isVisible ? 'visible' : 'hidden'}`}> <h2>Some content here</h2> </div> <button onClick={handleClick}>Toggle visibility</button> </div> ); }
${}
語(yǔ)法使我們能夠直接在模板字符串中計(jì)算表達(dá)式。
到此這篇關(guān)于React 中 如何處理 visibility: hidden的文章就介紹到這了,更多相關(guān)React 處理 visibility: hidden內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
手把手教您實(shí)現(xiàn)react異步加載高階組件
這篇文章主要介紹了手把手教您實(shí)現(xiàn)react異步加載高階組件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04React如何實(shí)現(xiàn)像Vue一樣將css和js寫(xiě)在同一文件
這篇文章主要介紹了React如何實(shí)現(xiàn)像Vue一樣將css和js寫(xiě)在同一文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01React中Suspense及l(fā)azy()懶加載及代碼分割原理和使用方式
這篇文章主要介紹了React中Suspense及l(fā)azy()懶加載及代碼分割原理和使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09react 不用插件實(shí)現(xiàn)數(shù)字滾動(dòng)的效果示例
這篇文章主要介紹了react 不用插件實(shí)現(xiàn)數(shù)字滾動(dòng)的效果示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04