国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

React---函數(shù)組件的常用hook

這篇具有很好參考價(jià)值的文章主要介紹了React---函數(shù)組件的常用hook。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

?1. useState

import { useState } from 'react';

interface State {
  count: number;
}

function Counter() {
  const [state, setState] = useState<State>({ count: 0 });

  return (
    <div>
      <p>Count: {state.count}</p>
      <button onClick={() => setState({ count: state.count + 1 })}>Increment</button>
    </div>
  );
}

?2. useEffect

import { useEffect, useState } from 'react';

function DataFetcher() {
  const [data, setData] = useState<string | null>(null);

  useEffect(() => {
    // 模擬數(shù)據(jù)獲取
    setTimeout(() => {
      setData('Fetched data!');
    }, 1000);
  }, []); // 空數(shù)組表示只在組件掛載時(shí)運(yùn)行

  return (
    <div>
      <p>Data: {data}</p>
    </div>
  );
}

3. useContext?

import { createContext, useContext } from 'react';

interface ContextValue {
  value: string;
}

const MyContext = createContext<ContextValue>({ value: 'Default Context Value' });

function ContextConsumer() {
  const contextValue = useContext(MyContext);

  return (
    <div>
      <p>Context Value: {contextValue.value}</p>
    </div>
  );
}

4. useReducer?

import { useReducer } from 'react';

interface State {
  count: number;
}

type Action = { type: 'increment' };

function reducer(state: State, action: Action): State {
  switch (action.type) {
    case 'increment':
      return { count: state.count + 1 };
    default:
      return state;
  }
}

function ReducerExample() {
  const [state, dispatch] = useReducer(reducer, { count: 0 });

  return (
    <div>
      <p>Count: {state.count}</p>
      <button onClick={() => dispatch({ type: 'increment' })}>Increment</button>
    </div>
  );
}

5. useCallback?

import { useCallback, useState } from 'react';

function CallbackExample() {
  const [count, setCount] = useState(0);

  const increment = useCallback(() => {
    setCount((prevCount) => prevCount + 1);
  }, []);

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={increment}>Increment</button>
    </div>
  );
}

6. useMemo?

import { useMemo, useState } from 'react';

function MemoExample() {
  const [a, setA] = useState(1);
  const [b, setB] = useState(2);

  const result = useMemo(() => {
    console.log('Computing result...');
    return a + b;
  }, [a, b]);

  return (
    <div>
      <p>Result: {result}</p>
      <button onClick={() => { setA(a + 1); }}>Increment A</button>
      <button onClick={() => { setB(b + 1); }}>Increment B</button>
    </div>
  );
}

7. useEffect?

import { useEffect, useRef } from 'react';

function RefExample() {
  const inputRef = useRef<HTMLInputElement | null>(null);

  useEffect(() => {
    if (inputRef.current) {
      inputRef.current.focus();
    }
  }, []);

  return (
    <div>
      <input ref={inputRef} type="text" />
    </div>
  );
}

8. useImperativeHandle?

import { forwardRef, useImperativeHandle, useRef } from 'react';

interface MyComponentProps {
  // Props definition
}

interface MyComponentMethods {
  focus: () => void;
  // Other exposed methods
}

const MyComponent = forwardRef<MyComponentMethods, MyComponentProps>((props, ref) => {
  const internalRef = useRef<HTMLInputElement | null>(null);

  useImperativeHandle(ref, () => ({
    focus: () => {
      if (internalRef.current) {
        internalRef.current.focus();
      }
    },
    // Other exposed methods or values
  }), []);

  return (
    <div>
      <input ref={internalRef} type="text" />
    </div>
  );
});

// Usage
function ImperativeHandleExample() {
  const myRef = useRef<MyComponentMethods>(null);

  useEffect(() => {
    if (myRef.current) {
      myRef.current.focus();
    }
  }, []);

  return (
    <div>
      <MyComponent ref={myRef} />
    </div>
  );
}

文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-805038.html

到了這里,關(guān)于React---函數(shù)組件的常用hook的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • React Hook入門小案例 在函數(shù)式組件中使用state響應(yīng)式數(shù)據(jù)

    React Hook入門小案例 在函數(shù)式組件中使用state響應(yīng)式數(shù)據(jù)

    Hook是react 16.8 新增的特性 是希望在不編寫 class的情況下 去操作state和其他react特性 Hook的話 就不建議大家使用class的形式了 當(dāng)然也可以用 這個(gè)他只是不推薦 我們還是先創(chuàng)建一個(gè)普通的react項(xiàng)目 我們之前寫一個(gè)react組件可以這樣寫 簡(jiǎn)單說(shuō) 就是聲明一個(gè)類對(duì)象 然后在里面 寫組

    2024年02月09日
    瀏覽(36)
  • 【《React Hooks實(shí)戰(zhàn)》——指導(dǎo)你使用hook開(kāi)發(fā)性能優(yōu)秀可復(fù)用性高的React組件】

    【《React Hooks實(shí)戰(zhàn)》——指導(dǎo)你使用hook開(kāi)發(fā)性能優(yōu)秀可復(fù)用性高的React組件】

    使用React Hooks后,你很快就會(huì)發(fā)現(xiàn),代碼變得更具有組織性且更易于維護(hù)。React Hooks是旨在為用戶提供跨組件的重用功能和共享功能的JavaScript函數(shù)。利用React Hooks, 可以將組件分成多個(gè)函數(shù)、管理狀態(tài)和副作用,并且不必聲明類即可調(diào)用React內(nèi)置的功能。而且,上述所有的操作

    2024年02月14日
    瀏覽(24)
  • 【前端知識(shí)】React 基礎(chǔ)鞏固(四十二)——React Hooks的介紹

    【前端知識(shí)】React 基礎(chǔ)鞏固(四十二)——React Hooks的介紹

    Hook 是 React 16.8 的新增特性,它可以讓我們?cè)诓痪帉慶lass的情況下使用state以及其他的React特性(比如生命周期)。 class組件 VS 函數(shù)式組件: class的優(yōu)勢(shì): class組件可以定義自己的state,用來(lái)保存組件自己內(nèi)部的狀態(tài);而函數(shù)式組件不可以,因?yàn)楹瘮?shù)每次調(diào)用都會(huì)產(chǎn)生新的臨時(shí)

    2024年02月14日
    瀏覽(33)
  • react使用hook封裝一個(gè)tab組件
  • 【taro react】 ---- 常用自定義 React Hooks 的實(shí)現(xiàn)【四】之遮罩層

    1. 問(wèn)題場(chǎng)景 在實(shí)際開(kāi)發(fā)中我們會(huì)遇到一個(gè)遮罩層會(huì)受到多個(gè)組件的操作影響,如果我們不采用 redux 之類的全局狀態(tài)管理,而是選擇組件之間的值傳遞,我們就會(huì)發(fā)現(xiàn)使用組件的變量來(lái)控制組件的顯示和隱藏很不方便,更不要說(shuō)像遮罩層這樣一個(gè)項(xiàng)目多處使用的公共組件,他

    2024年02月07日
    瀏覽(25)
  • React的10個(gè)常用Hooks及使用場(chǎng)景

    React是一款非常流行的JavaScript庫(kù),它提供了許多Hooks,用于管理函數(shù)組件的狀態(tài)和生命周期。下面是React的每個(gè)Hooks的使用場(chǎng)景和示例: useState用于在函數(shù)組件中管理狀態(tài)。 它返回一個(gè)包含當(dāng)前狀態(tài)和一個(gè)更新?tīng)顟B(tài)的函數(shù)的數(shù)組。更新?tīng)顟B(tài)的函數(shù)可以接受一個(gè)新的值,并更新?tīng)?/p>

    2024年02月09日
    瀏覽(21)
  • React Hook - useState函數(shù)的詳細(xì)解析

    在上一篇文章中, 我用到useState來(lái)讓大家體驗(yàn)一下hooks函數(shù) 那么接下來(lái)我們來(lái)先研究一下上面核心的一段代碼代表什么意思 useState來(lái)自react,需要從react中導(dǎo)入,是一個(gè)hook函數(shù), 官方中也將它成為State Hook, 它與class組件里面的 this.state 提供的功能完全相同; 一般來(lái)說(shuō),在函數(shù)退出

    2024年01月25日
    瀏覽(28)
  • 【前端知識(shí)】React 基礎(chǔ)鞏固(四十三)——Effect Hook

    【前端知識(shí)】React 基礎(chǔ)鞏固(四十三)——Effect Hook

    Effect Hook 用來(lái)完成一些類似class中生命周期的功能。 在使用類組件時(shí),不管是渲染、網(wǎng)路請(qǐng)求還是操作DOM,其邏輯和代碼是雜糅在一起的。例如我們希望把計(jì)數(shù)器結(jié)果顯示在標(biāo)簽上,在類組件中,我們通過(guò)生命周期進(jìn)行實(shí)現(xiàn),如下所示: 在函數(shù)組件中,我們可以利用useEffec

    2024年02月14日
    瀏覽(38)
  • React Hook - useEffecfa函數(shù)的使用細(xì)節(jié)詳解

    useEffecf基本使用 書接上文, 上一篇文章我們講解了State Hook, 我們已經(jīng)可以通過(guò)這個(gè)hook在函數(shù)式組件中定義state 我們知道在類組件中是可以有生命周期函數(shù)的, 那么如何在函數(shù)組件中定義類似于生命周期這些函數(shù)呢? Effect Hook 可以讓你來(lái)完成一些類似于class中生命周期的功能; 事

    2023年04月12日
    瀏覽(20)
  • React的7個(gè)常用Hooks及使用場(chǎng)景(含示例)

    React是一款非常流行的JavaScript庫(kù),它提供了許多Hooks,用于管理函數(shù)組件的狀態(tài)和生命周期。下面是React的每個(gè)Hooks的使用場(chǎng)景和示例: useState用于在函數(shù)組件中管理狀態(tài)。 它返回一個(gè)包含當(dāng)前狀態(tài)和一個(gè)更新?tīng)顟B(tài)的函數(shù)的數(shù)組。更新?tīng)顟B(tài)的函數(shù)可以接受一個(gè)新的值,并更新?tīng)?/p>

    2024年02月10日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包