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

React的hooks---useReducer

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

useReducer 作為 useState 的代替方案,在某些場(chǎng)景下使用更加適合,例如 state 邏輯較復(fù)雜且包含多個(gè)子值,或者下一個(gè) state 依賴于之前的 state 等。

使用 useReducer 還能給那些會(huì)觸發(fā)深更新的組件做性能優(yōu)化,因?yàn)楦附M件可以向自組件傳遞 dispatch 而不是回調(diào)函數(shù)

const [state, dispatch] = useReducer(reducer, initialArg, init);

使用:

import React, { useReducer } from 'react'

const initialState = { count: 0 };

function reducer(state, action) {
  switch (action.type) {
    case 'increment':
      return {count: state.count + 1};
    case 'decrement':
      return {count: state.count - 1};
    default:
      throw new Error();
  }
}

export default function Counter() {
  const [state, dispatch] = useReducer(reducer, initialState);

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

?初始化 state:

useReducer 初始化 sate 的方式有兩種文章來源地址http://www.zghlxwxcb.cn/news/detail-609611.html

// 方式1
const [state, dispatch] = useReducer(
	reducer,
  {count: initialCount}
);

// 方式2
function init(initialClunt) {
  return {count: initialClunt};
}

const [state, dispatch] = useReducer(reducer, initialCount, init);

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

本文來自互聯(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)文章

  • 【前端知識(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,用來保存組件自己內(nèi)部的狀態(tài);而函數(shù)式組件不可以,因?yàn)楹瘮?shù)每次調(diào)用都會(huì)產(chǎn)生新的臨時(shí)

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

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

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

    2024年02月14日
    瀏覽(38)
  • React 新版官方文檔 (一) useReducer 用法詳解

    React 新版官方文檔 (一) useReducer 用法詳解

    useReducer 是一個(gè)可以讓你向組件中添加 reducer 的 Hook 基本用法 比 useState 多了一個(gè)處理函數(shù),該函數(shù)可以根據(jù)不同的分發(fā)狀態(tài)來對(duì)應(yīng)的改變狀態(tài) 注意:state 不可修改 不能這樣寫, reducer 函數(shù)應(yīng)當(dāng)返回一個(gè)新對(duì)象 不要重新執(zhí)行初始函數(shù) 第一種寫法會(huì)導(dǎo)致每次渲染時(shí)候都調(diào)用

    2024年02月13日
    瀏覽(23)
  • 前端react入門day04-useEffect與Hook函數(shù)

    前端react入門day04-useEffect與Hook函數(shù)

    (創(chuàng)作不易,感謝有你,你的支持,就是我前行的最大動(dòng)力,如果看完對(duì)你有幫助,請(qǐng)留下您的足跡) 目錄 useEffect 的使用 useEffect 的概念理解 useEffect 依賴項(xiàng)參數(shù)說明 useEffect — 清除副作用 自定義Hook實(shí)現(xiàn) React Hooks使用規(guī)則 useEffect是一個(gè)React Hook函數(shù),用于在React組件中 創(chuàng)建不

    2024年01月22日
    瀏覽(24)
  • 【前端知識(shí)】React 基礎(chǔ)鞏固(四十六)——自定義Hook的應(yīng)用

    【前端知識(shí)】React 基礎(chǔ)鞏固(四十六)——自定義Hook的應(yīng)用

    自定義Hook本質(zhì)上只是一種函數(shù)代碼邏輯的抽取,嚴(yán)格意義上而言,它并不算React的特性。 實(shí)現(xiàn)組件創(chuàng)建/銷毀時(shí)打印日志 實(shí)現(xiàn)Context共享 封裝 TokenContext 和 UserContext 兩個(gè)Context在自定義Hook useUserToken 中,通過使用 userUserToken 同時(shí)獲取兩個(gè)Context的內(nèi)容: 實(shí)現(xiàn)獲取滾動(dòng)位置 封裝滾

    2024年02月14日
    瀏覽(23)
  • 前端開發(fā)筆記 | React Hooks子組件和父組件交互

    前端開發(fā)框架目前比較常用的就是react、vue等,其中使用React Hooks 帶來了不少的好處,今天來聊聊React Hooks開發(fā)方式下,子組件和父組件的交互。 子組件定義 父組件調(diào)用子組件 父組件定義 子組件中刷新父組件按鈕文案 實(shí)際效果:點(diǎn)擊子組件中“改變父組件按鈕”,父組件中

    2024年02月11日
    瀏覽(14)
  • 前端實(shí)現(xiàn)簡(jiǎn)單的sse封裝(React hook Vue3)

    所謂的SSE(Sever-Sent Event),就是瀏覽器向服務(wù)器發(fā)送了一個(gè)HTTP請(qǐng)求,保持長(zhǎng)連接,服務(wù)器不斷單向地向?yàn)g覽器推送“信息”,這么做是為了節(jié)省網(wǎng)絡(luò)資源,不用一直發(fā)請(qǐng)求,建立新連接。 優(yōu)點(diǎn):SSE和WebSocket相比,最大的優(yōu)勢(shì)是便利,服務(wù)端不需要第三方組件,開發(fā)難度低,SSE和

    2024年02月09日
    瀏覽(33)
  • 簡(jiǎn)介:在這篇教程中,我們將使用React.js框架創(chuàng)建一個(gè)簡(jiǎn)單的聊天機(jī)器人的前端界面,并利用Dialogflo

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 介紹及動(dòng)機(jī) 聊天機(jī)器人(Chatbot)一直是互聯(lián)網(wǎng)領(lǐng)域中的熱門話題。而很多聊天機(jī)器人的功能都依賴于人工智能(AI)技術(shù)。越來越多的企業(yè)希望擁有自己的聊天機(jī)器人系統(tǒng),從而提升自己的競(jìng)爭(zhēng)力。為此,業(yè)界也出現(xiàn)了很多基于開源技術(shù)或云

    2024年02月06日
    瀏覽(24)
  • ahooks.js:一款強(qiáng)大的React Hooks庫(kù)及其API使用教程(四)

    ahooks是一款由阿里巴巴開發(fā)團(tuán)隊(duì)設(shè)計(jì)的React Hooks庫(kù),提供了一系列實(shí)用的React Hooks,以便開發(fā)者更好地使用React的功能。ahooks的設(shè)計(jì)原則是“最小API,最大自由”,旨在提供最小的、最易于理解和使用的API,同時(shí)保留最大的使用自由度。 使用npm或yarn安裝ahooks: API介紹合集:

    2024年02月11日
    瀏覽(18)
  • ahooks.js:一款強(qiáng)大的React Hooks庫(kù)及其API使用教程(二)

    ahooks是一款由阿里巴巴開發(fā)團(tuán)隊(duì)設(shè)計(jì)的React Hooks庫(kù),提供了一系列實(shí)用的React Hooks,以便開發(fā)者更好地使用React的功能。ahooks的設(shè)計(jì)原則是“最小API,最大自由”,旨在提供最小的、最易于理解和使用的API,同時(shí)保留最大的使用自由度。 使用npm或yarn安裝ahooks: 前面的API:aho

    2024年02月12日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包