最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React改變?cè)貥邮降牟僮鞔a

 更新時(shí)間:2023年05月27日 09:30:19   作者:火焰兔  
這篇文章主要介紹了React技巧之改變?cè)貥邮?本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

三元運(yùn)算符

在React中,通過(guò)點(diǎn)擊事件來(lái)改變?cè)氐臉邮剑?/p>

  • 在元素上設(shè)置onClick屬性。
  • 當(dāng)元素被點(diǎn)擊時(shí),設(shè)置激活的state
  • 使用三元運(yùn)算符,基于state變量有條件地設(shè)置新樣式。
import {useState} from 'react';
export default function App() {
  const [isActive, setIsActive] = useState(false);
  const handleClick = () => {
    // ?? toggle
    setIsActive(current => !current);
    // ?? or set to true
    // setIsActive(true);
  };
  return (
    <div>
      <button
        style={{
          backgroundColor: isActive ? 'salmon' : '',
          color: isActive ? 'white' : '',
        }}
        onClick={handleClick}
      >
        Click
      </button>
    </div>
  );
}

我們?cè)谠厣显O(shè)置了onClick 屬性,所以每當(dāng)元素被點(diǎn)擊時(shí),handleClick函數(shù)就會(huì)被調(diào)用。在該函數(shù)中,我們只是切換isActive狀態(tài)。

如果你不想在每次點(diǎn)擊元素時(shí)改變樣式,你可以將狀態(tài)設(shè)置為激活,例如setIsActive(true)。

我們使用三元運(yùn)算符,有條件地在元素上設(shè)置backgroundColor 樣式。

<button
  style={{
    backgroundColor: isActive ? 'salmon' : '',
    color: isActive ? 'white' : '',
  }}
  onClick={handleClick}
>
  Click
</button>

三元運(yùn)算符與if/else 語(yǔ)句十分相似。換句話說(shuō),如果isActive 變量值為true,我們會(huì)設(shè)置backgroundColor屬性為salmon,否則設(shè)置為空字符串。

你可以用這種方法來(lái)改變組件中任何元素的樣式,它不一定是用戶點(diǎn)擊的那個(gè)。

currentTarget

同樣的,你可以使用event對(duì)象上的currentTarget屬性。

  • 在元素上設(shè)置onClick屬性。
  • 在事件處理函數(shù)中,通過(guò)event.currentTarget訪問(wèn)元素。
  • 在元素上使用style對(duì)象設(shè)置樣式。
export default function App() {
  const handleClick = event => {
    event.currentTarget.style.backgroundColor = 'salmon';
    event.currentTarget.style.color = 'white';
    event.currentTarget.classList.add('my-class-1', 'my-class-2');
  };
  return (
    <div>
      <button onClick={handleClick}>Click</button>
    </div>
  );
}

我們可以通過(guò)event對(duì)象上的currentTarget屬性來(lái)訪問(wèn)元素。event上的currentTarget屬性讓我們可以訪問(wèn)事件監(jiān)聽(tīng)器所連接的元素。

下面的示例向我們展示了,如何通過(guò)點(diǎn)擊事件改變?cè)厣系臉邮健?/p>

export default function App() {
  const handleClick = event => {
    // ?? toggle styles on click
    if (event.currentTarget.style.backgroundColor) {
      event.currentTarget.style.backgroundColor = null;
      event.currentTarget.style.color = null;
    } else {
      event.currentTarget.style.backgroundColor = 'salmon';
      event.currentTarget.style.color = 'white';
    }
    // ?? toggle class on click
    event.currentTarget.classList.toggle('my-class-1', 'my-class-2');
  };
發(fā)。
  return (
    <div>
      <button onClick={handleClick}>Click</button>
    </div>
  );
}

如果你需要在點(diǎn)擊時(shí)為元素設(shè)置一個(gè)樣式,你可以直接通過(guò)元素的style對(duì)象設(shè)置樣式。

event.currentTarget.style.backgroundColor = 'salmon';

然而,如果你必須在每次點(diǎn)擊元素時(shí)切換樣式,你就必須有條件地檢查該類(lèi)是否存在,如果存在就將其刪除,否則就添加該類(lèi)。

如果你需要為元素添加樣式,可以使用classList.add方法。

// ?? add class
event.currentTarget.classList.add('my-class-1', 'my-class-2');
// ?? remove class
event.currentTarget.classList.remove('my-class-1', 'my-class-2');

該方法可以可以傳遞一個(gè)或多個(gè)class。

如果你需要在點(diǎn)擊時(shí)為元素切換樣式,可以使用classList.toggle方法。

event.currentTarget.classList.toggle('my-class-1', 'my-class-2');

classList.toggle方法從元素中移除一個(gè)現(xiàn)有的類(lèi),如果該類(lèi)存在的話。否則,它會(huì)將該類(lèi)添加到該元素中。

到此這篇關(guān)于React技巧之改變?cè)貥邮降奈恼戮徒榻B到這了,更多相關(guān)react改變?cè)貥邮絻?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • react?hooks?d3實(shí)現(xiàn)企查查股權(quán)穿透圖結(jié)構(gòu)圖效果詳解

    react?hooks?d3實(shí)現(xiàn)企查查股權(quán)穿透圖結(jié)構(gòu)圖效果詳解

    這篇文章主要為大家介紹了react?hooks?d3實(shí)現(xiàn)企查查股權(quán)穿透圖結(jié)構(gòu)圖效果詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Redux模塊化拆分reducer函數(shù)流程介紹

    Redux模塊化拆分reducer函數(shù)流程介紹

    Reducer是個(gè)純函數(shù),即只要傳入相同的參數(shù),每次都應(yīng)返回相同的結(jié)果。不要把和處理數(shù)據(jù)無(wú)關(guān)的代碼放在Reducer里,讓Reducer保持純凈,只是單純地執(zhí)行計(jì)算,這篇文章主要介紹了Redux拆分reducer函數(shù)流程
    2022-09-09
  • react基于react-slick實(shí)現(xiàn)多圖輪播效果

    react基于react-slick實(shí)現(xiàn)多圖輪播效果

    React slick是一個(gè)使用React構(gòu)建的輪播組件,下面這篇文章主要給大家介紹了關(guān)于react基于react-slick實(shí)現(xiàn)多圖輪播效果的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • React+umi+typeScript創(chuàng)建項(xiàng)目的過(guò)程

    React+umi+typeScript創(chuàng)建項(xiàng)目的過(guò)程

    這篇文章主要介紹了React+umi+typeScript創(chuàng)建項(xiàng)目的過(guò)程,結(jié)合代碼介紹了項(xiàng)目框架搭建的方式,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • React無(wú)限滾動(dòng)插件react-infinite-scroll-component的配置優(yōu)化技巧

    React無(wú)限滾動(dòng)插件react-infinite-scroll-component的配置優(yōu)化技巧

    react-infinite-scroll-component是React無(wú)限滾動(dòng)插件,簡(jiǎn)化滾動(dòng)加載邏輯,支持自定義提示和觸發(fā)距離,兼容移動(dòng)端,體積小巧,適用于列表、聊天等場(chǎng)景,需結(jié)合虛擬滾動(dòng)優(yōu)化性能,本文介紹React無(wú)限滾動(dòng)插件react-infinite-scroll-component的配置+優(yōu)化,感興趣的朋友一起看看吧
    2025-09-09
  • react 父組件與子組件之間的值傳遞的方法

    react 父組件與子組件之間的值傳遞的方法

    本篇文章主要介紹了react 父組件與子組件之間的值傳遞的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • React 組件中實(shí)現(xiàn)事件代理

    React 組件中實(shí)現(xiàn)事件代理

    React的事件系統(tǒng)和瀏覽器事件系統(tǒng)相比,主要增加了兩個(gè)特性:事件代理、和事件自動(dòng)綁定,本文主要介紹了React 組件中實(shí)現(xiàn)事件代理,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • 解決React報(bào)錯(cuò)Cannot?find?namespace?context

    解決React報(bào)錯(cuò)Cannot?find?namespace?context

    這篇文章主要為大家介紹了React報(bào)錯(cuò)Cannot?find?namespace?context分析解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Remix后臺(tái)開(kāi)發(fā)之remix-antd-admin配置過(guò)程

    Remix后臺(tái)開(kāi)發(fā)之remix-antd-admin配置過(guò)程

    這篇文章主要為大家介紹了Remix后臺(tái)開(kāi)發(fā)之remix-antd-admin配置過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 在create-react-app中使用css modules的示例代碼

    在create-react-app中使用css modules的示例代碼

    這篇文章主要介紹了在create-react-app中使用css modules的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07

最新評(píng)論

漾濞| 百色市| 清原| 崇文区| 阳高县| 岑巩县| 木兰县| 曲麻莱县| 本溪| 韶山市| 南平市| 贵定县| 健康| 大余县| 漾濞| 南陵县| 石门县| 东至县| 阳新县| 南部县| 灵台县| 黔南| 大港区| 孙吴县| 广宁县| 游戏| 鄂伦春自治旗| 通渭县| 松潘县| 涿州市| 凌源市| 惠安县| 肥城市| 万源市| 外汇| 彭水| 兰西县| 朝阳区| 临潭县| 奉节县| 莆田市|