欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

React改變元素樣式的操作代碼

 更新時間:2023年05月27日 09:30:19   作者:火焰兔  
這篇文章主要介紹了React技巧之改變元素樣式,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

三元運算符

在React中,通過點擊事件來改變元素的樣式:

  • 在元素上設置onClick屬性。
  • 當元素被點擊時,設置激活的state
  • 使用三元運算符,基于state變量有條件地設置新樣式。
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>
  );
}

我們在元素上設置了onClick 屬性,所以每當元素被點擊時,handleClick函數(shù)就會被調用。在該函數(shù)中,我們只是切換isActive狀態(tài)。

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

我們使用三元運算符,有條件地在元素上設置backgroundColor 樣式。

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

三元運算符與if/else 語句十分相似。換句話說,如果isActive 變量值為true,我們會設置backgroundColor屬性為salmon,否則設置為空字符串。

你可以用這種方法來改變組件中任何元素的樣式,它不一定是用戶點擊的那個。

currentTarget

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

  • 在元素上設置onClick屬性。
  • 在事件處理函數(shù)中,通過event.currentTarget訪問元素。
  • 在元素上使用style對象設置樣式。
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>
  );
}

我們可以通過event對象上的currentTarget屬性來訪問元素。event上的currentTarget屬性讓我們可以訪問事件監(jiān)聽器所連接的元素。

下面的示例向我們展示了,如何通過點擊事件改變元素上的樣式。

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>
  );
}

如果你需要在點擊時為元素設置一個樣式,你可以直接通過元素的style對象設置樣式。

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

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

如果你需要為元素添加樣式,可以使用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');

該方法可以可以傳遞一個或多個class。

如果你需要在點擊時為元素切換樣式,可以使用classList.toggle方法。

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

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

到此這篇關于React技巧之改變元素樣式的文章就介紹到這了,更多相關react改變元素樣式內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 示例詳解react中useState的用法

    示例詳解react中useState的用法

    useState 通過在函數(shù)組件里調用它來給組件添加一些內部 state,React 會在重復渲染時保留這個 state,接下來通過一個示例來看看怎么使用 useState吧
    2021-06-06
  • React Native功能豐富的Toast通知庫

    React Native功能豐富的Toast通知庫

    這篇文章主要為大家介紹了React Native功能豐富的Toast通知庫使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • React應用中避免白屏現(xiàn)象的方法小結

    React應用中避免白屏現(xiàn)象的方法小結

    在開發(fā)React應用程序時,我們都曾遇到過這樣的場景:一個未被捕獲的異常突然中斷了組件的渲染流程,導致用戶界面呈現(xiàn)出一片空白,也就是俗稱的“白屏”現(xiàn)象,本文將探討如何在React應用中有效捕獲并處理這些錯誤,避免白屏現(xiàn)象的發(fā)生,需要的朋友可以參考下
    2024-06-06
  • Iconfont不能上傳如何維護Icon

    Iconfont不能上傳如何維護Icon

    這篇文章主要為大家介紹了在Iconfont還是不能上傳,要如何維護你的Icon,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 使用react-dnd編寫一個可拖拽排列的list

    使用react-dnd編寫一個可拖拽排列的list

    這篇文章主要為大家詳細介紹了如何使用react-dnd編寫一個可拖拽排列的list,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-03-03
  • React父子組件間的傳值的方法

    React父子組件間的傳值的方法

    在單頁面里面,父子組件傳值是比較常見的,這篇文章主要介紹了React父子組件間的傳值的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • React內部實現(xiàn)cache方法示例詳解

    React內部實現(xiàn)cache方法示例詳解

    這篇文章主要為大家介紹了React內部實現(xiàn)cache方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • React項目經(jīng)驗總結及遇到的坑

    React項目經(jīng)驗總結及遇到的坑

    這篇文章主要介紹了React項目經(jīng)驗總結,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • react?hooks?計數(shù)器實現(xiàn)代碼

    react?hooks?計數(shù)器實現(xiàn)代碼

    這篇文章主要介紹了react?hooks計數(shù)器實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • react-router中Link標簽和a標簽有什么區(qū)別

    react-router中Link標簽和a標簽有什么區(qū)別

    本文主要介紹了react-router中Link標簽和a標簽有什么區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06

最新評論