[react] class Component and function Component
我对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,可以利用成熟的组件库,但是总会涉及到需要你自己调整的地方。