我對react的用法理解還一直停留在多年以前,說明這段時間我沒有更新react的知識。我大腦中記得還是使用Class Component + this.setState,可是今天看了看react的文檔,發現怎么不一樣了,用的都是function + useState的方式了。你知道這種感覺嗎?有點類似于閉關幾年,出來以后發現怎么人人都用不帶實體鍵盤的智能手機了,之前人們不都是在用帶著按鍵的手機嗎?
這個是幸運呢?還是不幸呢?幸運的是,說明在變化,在進步,不幸的是你要接受這種改變,現在的我還能夠接受改變,不知道十年,二十年,三十年之后的我能夠跟得上變化。
不過要注意的是class Component + this.setState這種方式還是支持的,只不過更推薦用 Function Component + Hooks這種寫法了。
假如說有一個程序員,是死記硬背型程序員A,A記住了react的使用方式就是class Component + this.setSate類型的,那么放到今天,如果A不更新知識結構,那么A已經過時了。
假如說有一個程序員B,B能夠理解邏輯,能夠更新知識結構,首先B會及時跟進官方和社區動態,其次B能夠理解邏輯,很容易在class Component和Fucntion Compoent之前進行遷移。
useEffect Hook (替代生命周期方法)
How To Convert React Class Components to Functional Components with React Hooks
import { useState, useEffect } from “react”;
useState和useEffect怎么用?
我感覺useState比useEffect好理解。State這個單詞我們知道,是狀態的意思,但是Effect這個單詞我不理解是啥意思。
useState (聲明式 - Declarative):它的思維模式是 “我想要什么”。
你直接聲明:“這個組件需要一個狀態 count,它的初始值是 0”。
你通過 setCount(1) 聲明:“我希望狀態下次變成 1”。
React 負責如何去更新 DOM 以匹配你這個“愿望”。你不需要關心過程,只關心結果。這非常符合 React 本身的聲明式哲學。
useEffect (命令式 - Imperative):它的思維模式是 “在某個時候,我要去做某件事”。
基礎不牢,地動山搖,基礎的css頁面布局排版你還不熟練,即使切換到react也是不熟練的啊。雖然可以利用AI,可以利用成熟的組件庫,但是總會涉及到需要你自己調整的地方。