React?中如何將CSS?visibility?屬性設(shè)置為?hidden
在 React 中將 CSS visibility 屬性設(shè)置為 hidden:
- 在指示元素是否應(yīng)該可見的狀態(tài)中存儲(chǔ)一個(gè)布爾值。
- 有條件地在元素的樣式屬性中設(shè)置可見性屬性。
- 例如,
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 掛鉤來存儲(chǔ)一個(gè)布爾值,指示元素是否應(yīng)該可見。
每次單擊按鈕元素時(shí),都會(huì)切換 isVisible 布爾值,但這可以通過任何其他方式觸發(fā)。
注意,我們向setIsVisible傳遞了一個(gè)函數(shù)。 這很重要,因?yàn)槲覀儌鬟f給setIsVisible的函數(shù)保證會(huì)使用isVisible布爾值的當(dāng)前(最新)值來調(diào)用。
如果新狀態(tài)是使用先前狀態(tài)計(jì)算的,則可以將函數(shù)傳遞給 setState()。
div 元素的 style 屬性的可見性屬性是使用三元運(yùn)算符有條件地設(shè)置的。
三元運(yùn)算符與 if/else 語句非常相似。
如果問號(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。
如果我們依賴為樣式設(shè)置類名,也可以使用相同的方法。
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 類的css。
.visible {
visibility: visible;
}
.hidden {
visibility: hidden;
}上面的代碼片段使用類而不是 style 屬性實(shí)現(xiàn)了相同的結(jié)果。
如果要設(shè)置類的元素也有不同的類,請(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>
);
}${} 語法使我們能夠直接在模板字符串中計(jì)算表達(dá)式。
到此這篇關(guān)于React 中 如何處理 visibility: hidden的文章就介紹到這了,更多相關(guān)React 處理 visibility: hidden內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
react-redux及redux狀態(tài)管理工具使用詳解
Redux是為javascript應(yīng)用程序提供一個(gè)狀態(tài)管理工具集中的管理react中多個(gè)組件的狀態(tài)redux是專門作狀態(tài)管理的js庫(不是react插件庫可以用在其他js框架中例如vue,但是基本用在react中),這篇文章主要介紹了react-redux及redux狀態(tài)管理工具使用詳解,需要的朋友可以參考下2023-01-01
如何解決React useEffect鉤子帶來的無限循環(huán)問題
本文主要介紹了解決React useEffect鉤子帶來的無限循環(huán)問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
React實(shí)現(xiàn)控制減少useContext導(dǎo)致非必要的渲染詳解
這篇文章主要介紹了React如何有效減少使用useContext導(dǎo)致的不必要渲染,使用useContext在改變一個(gè)數(shù)據(jù)時(shí),是通過自己逐級(jí)查找對(duì)比改變的數(shù)據(jù)然后渲染,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-11-11
React Grid Layout基礎(chǔ)使用示例教程
React Grid Layout是一個(gè)用于在React應(yīng)用程序中創(chuàng)建可拖拽和可調(diào)整大小的網(wǎng)格布局的庫,通過使用React Grid Layout,我們可以輕松地創(chuàng)建自適應(yīng)的網(wǎng)格布局,并實(shí)現(xiàn)拖拽和調(diào)整大小的功能,本文介紹了React Grid Layout的基礎(chǔ)使用方法,感興趣的朋友一起看看吧2024-02-02
react+ts實(shí)現(xiàn)簡單jira項(xiàng)目的最佳實(shí)踐記錄
這篇文章主要介紹了react+ts實(shí)現(xiàn)簡單jira項(xiàng)目,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07

