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

React 應用 Effect Hook 函數式中操作生命周期

這篇具有很好參考價值的文章主要介紹了React 應用 Effect Hook 函數式中操作生命周期。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

React Hook入門小案例 在函數式組件中使用state響應式數據給大家演示了最簡單的 Hook操作 那么 我們繼續(xù)
首先 Hook官方介紹 他沒有破壞性是完全可選的 百分比兼容 也就說 我們一起的 類 class的方式也完全可以用
只要 react 16,8以上就可以使用
Hook本身不會影響你的react的理解 恰恰相反 官方認為 他會讓react理解更加容易
至于 Hook的修改動機在于 他認為當組件很多時 類的方式很不易理解
而且這是一種剪輯式的修改方式 比如 你的老項目 你之前的還是可以繼續(xù)用class 新的用Hook管理函數式 他們之間不會發(fā)生沖突

然后 我們來說第二個 Effect Hook

好 那我們來開啟代碼 編寫代碼如下

import React from "react";
export default class AppRouter extends React.Component{
    constructor(props){
      super(props);
      this.state = {
        name: "小貓貓"
      }
    }

    componentDidMount = ()=>{
      document.title = this.state.name;
    }

    render(){
        return (
            <div>
                Hello World
            </div>
        )
    }
}

我們在界面寫了很普通的案例 Hello World
然后在componentDidMount 頁面掛載完畢的生命周期中執(zhí)行了 將頁面title內容改為this.state.name的指令
然后運行結果如下
React 應用 Effect Hook 函數式中操作生命周期
沒有什么問題

我們可以在頁面內容中加這樣一個按鈕

<button onClick= { ()=>{ this.setState({ name: "大貓貓" }) } }>更改title</button>

React 應用 Effect Hook 函數式中操作生命周期
點擊后改變name的值
我們運行代碼 會發(fā)現 點擊之后 title的值并不會隨著點擊而變化
React 應用 Effect Hook 函數式中操作生命周期
但是其實我們心里清楚這肯定是變化了的

那么 我們就可以去寫

componentDidUpdate() {
    document.title = this.state.name;
}

React 應用 Effect Hook 函數式中操作生命周期

利用 componentDidUpdate 監(jiān)聽數據變化 當響應式數據變化重新渲染一次title的內容
React 應用 Effect Hook 函數式中操作生命周期
這次點擊后 title的內容也就變化了

其實這樣寫多少還是有點撈的 我們可以用新特性去實現
我們將代碼改成這樣

import React,{ useState,useEffect } from "react"

const MyComponent = () => {
  const [name,setName] = useState("小貓貓");

  /*
    useEffect相當于三個生命周期函數
    分別是
        componentDidMount //元素掛載完成
        componentDidUpdate //響應式數據更改
        componentWillUnmount  //組件銷毀前
  */
  useEffect(() => {
    document.title = name;
  })

  return (
    <div>
      Hello World
      <button onClick={ ()=> { setName("大貓貓")} }>更改title</button>
    </div>
  );
};

export default MyComponent;

運行項目
React 應用 Effect Hook 函數式中操作生命周期
顯然開始渲染的沒有什么問題

然后 我們點擊按鈕
React 應用 Effect Hook 函數式中操作生命周期
內容也是改變成功

這里正如我們注釋寫的那樣 useEffect相當于三個生命之前函數
componentDidMount //元素掛載完成
componentDidUpdate //響應式數據更改
componentWillUnmount //組件銷毀前

官方不會去動你的蛋糕
它也可以單獨去相當于某一個生命周期函數

我們將 useEffect 上面的代碼改成

useEffect(() => {
  document.title = name;
  // eslint-disable-next-line react-hooks/exhaustive-deps
},[]);

后面加個空數組
這樣 他就只相當于 componentDidMount
運行項目
React 應用 Effect Hook 函數式中操作生命周期
第一次渲染上去了
然后我們點擊按鈕
React 應用 Effect Hook 函數式中操作生命周期
就不會變化了 因為他目前只有componentDidMount的作用

如果你在最后面加個 return
React 應用 Effect Hook 函數式中操作生命周期
那么 這個 return中的內容 就是組件銷毀后會執(zhí)行的componentWillUnmount邏輯函數文章來源地址http://www.zghlxwxcb.cn/news/detail-489241.html

到了這里,關于React 應用 Effect Hook 函數式中操作生命周期的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • React - 你知道useffect函數內如何模擬生命周期嗎

    React - 你知道useffect函數內如何模擬生命周期嗎

    難度級別:中級及以上 ????????????????????????????????提問概率:65%? 很多前端開發(fā)人員習慣了Vue或者React的組件式開發(fā),熟知組件的周期過程包含初始化、掛載完成、修改和卸載等階段。但是當使用Hooks做業(yè)務開發(fā)的時候,看見一個個useEffect函數,卻顯得有

    2024年04月10日
    瀏覽(28)
  • 微信小程序——生命周期,生命周期的分類,頁面生命周期,生命周期函數的分類,應用的生命周期函數,頁面的生命周期函數,wxs腳本概述

    微信小程序——生命周期,生命周期的分類,頁面生命周期,生命周期函數的分類,應用的生命周期函數,頁面的生命周期函數,wxs腳本概述

    生命周期( Life Cycle )是指一個對象從創(chuàng)建-運行-銷毀的整個階段,強調的是一個時間段。 例如: .張三出生,表示這個人生命周期的開始 .張三離世,表示這個人生命周期的結束 .中間張三的一生,就是張三的生命周期 我們可以把每個小程序運行的過程,也概括為生命周

    2024年02月01日
    瀏覽(29)
  • react中使用shouldComponentUpdate生命周期函數調用setState引起的無限循環(huán)的錯誤

    在 React 組件中,當在 componentWillUpdate 或 componentDidUpdate 生命周期方法中調用 setState 時,會觸發(fā)無限循環(huán),導致超過最大更新深度。 在React組件中 ,我們使用componentWillUpdate 或 componentDidUpdate 生命周期方法中調用 setState 方法,但是調用seState會導致組件重新渲染 ,那么這個生命

    2024年02月12日
    瀏覽(23)
  • 面試中問:React中函數組件和class組件的區(qū)別,hooks模擬生命周期

    React 的函數組件和類組件在很多方面都相似,但它們也有一些關鍵的差異。以下是這兩種組件之間的主要區(qū)別: 定義方式 : 函數組件 : 是簡單的 JavaScript 函數,接受 props 為參數,并返回 React 元素。 類組件 : 是 ES6 的類,繼承的時候要用到 extends React.Component,至少包含一個名

    2024年02月11日
    瀏覽(51)
  • Vue2 的@hook 、 hook:  與生命周期

    Vue2 的@hook 、 hook: 與生命周期

    優(yōu)點:簡單易上手 缺點:此種方法子組件必須是自己編寫的組件,若引用第三方庫這種方式則不可行 官方文檔并沒有太多相關解釋,只在處理邊界情況 #程序化的事件偵聽器— Vue.js (vuejs.org)里有出現。 子組件無需相關處理就能實現偵聽,這塊的實現原理可以從源碼里探究部

    2024年02月05日
    瀏覽(19)
  • 【React】: React的生命周期

    【React】: React的生命周期

    生命周期的每個階段總是伴隨著一些方法的調用,這些方法就是生命周期的鉤子函數 鉤子函數的作用:為開發(fā)人員在不同操作階段提供了十幾 只有 類組件 才有生命周期 ? 生命周期的圖片: ?同時有: ?編寫以下代碼,從而驗證constructor,render,componentDidMount的順序: 在開發(fā)者

    2024年02月08日
    瀏覽(18)
  • 【React學習】React組件生命周期

    【React學習】React組件生命周期

    在 React 中,組件的生命周期是指組件從被創(chuàng)建到被銷毀的整個過程。React框架提供了一系列生命周期方法,在不同的生命周期方法中,開發(fā)人員可以執(zhí)行不同的操作,例如初始化狀態(tài)、數據加載、渲染、更新等。一個組件的生命周期大致可以分為三個階段,即組件掛載時,更

    2024年02月12日
    瀏覽(20)
  • react 生命周期講解

    當涉及到React組件的創(chuàng)建、更新和銷毀過程時,React的生命周期方法起到了至關重要的作用。正確地理解和使用這些生命周期方法可以幫助我們在不同的階段執(zhí)行特定的操作,從而實現更好的組件控制和優(yōu)化。 1. 掛載階段(Mounting) 在組件被創(chuàng)建并添加到DOM中時,以下生命周

    2024年02月07日
    瀏覽(66)
  • 淺談React生命周期

    在React中,組件的生命周期是指組件從創(chuàng)建到銷毀的整個過程中所經歷的一系列階段。React 16.3版本之前,組件的生命周期可以分為三個階段:掛載階段(Mounting)、更新階段(Updating)和卸載階段(Unmounting)。但是自React 16.3版本起,官方推出了新的生命周期方法,將原有的一

    2024年02月10日
    瀏覽(19)
  • React 生命周期新舊對比

    React 生命周期新舊對比

    React16.4版本之后使用了新的生命周期,它使用了一些新的生命周期鉤子(getDerivedStateFromProps、getSnapshotBeforeUpdate),并且即將廢棄老版的3個生命周期鉤子(componentWillMount、componentWillReceiveProps、componentWillUpdate)。 因為React 16引入了 Fiber機制 ,把 同步 的渲染流程進化為了 異步

    2024年02月11日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包