react中hooks的使用

1 useState()

通过setF触发页面渲染,几个setFn,页面就会刷新几次(同一代码块中,对于多个setFn,会进行合并处理
PS:这里的合并仅针对同一代码块中的setFn

const [argumA, setFnA] = useState()

2 useEffect()

发生在页面渲染之后

useEffect(() => { xxx }, []) // 第二个参数为空数组,表示仅执行一次

3 useMemo()

发生在页面渲染之前,对数据进行缓存。

const argumA = useMemo(fnB, [])  // fnB执行,返回是fnB的执行结果

4 memo()

类似于PureComponent,用来优化组件,防止组件重复渲染。不同处在于,memo是function组件,PureComponent是class组件。
原理:通过浅比较,如果ComponentB中的props没有发生改变时,则不用重新渲染B

const ComponentA = memo(ComponentB)

5 useCallback()

与useMemo类似,对函数进行缓存,函数并没有执行。

const fnA = useCallback(fnB, [])  // fnB未执行

6 useReducer

useState会导致页面刷新,几个setFn页面就会刷几次,造成性能浪费,解决方法
合并state

const [argums, setArgums] = useState({})
...
setArgums({  // 这种处理页面仅刷新一次
	key1: 'argum1',
	key2: 'argum2',
	...
})

useReducer
当state逻辑较复杂且包含多个子值,或者下一个state依赖于之前的state时,推荐useReudcer

const [count, dispath] = useReducer((state, action) => {
	switch(action) {
		case: 'add':
		  return state + 1
		case: 'sub':
		  return state - 1
		default:
		  return state
    }
}, 0)

<div onClick={() => dispath('add')}></div>
<div onClick={() => dispath('sub')}></div>

FROM
https://blog.csdn.net/weixin_42450794/article/details/97906444?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

https://reactjs.org/docs/hooks-reference.html#conditionally-firing-an-effect

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ReactHooks是一种特殊的函数,它们允许我们在函数组件使用状态和其他React特性,而不需要使用类组件。使用Hooks可以使得代码更简洁、易读,并且更方便进行状态管理和副作用的处理。 React提供了一些常用的Hooks,其最常见的是useState和useEffect。 1. useState:useState允许我们在函数组件声明和使用状态。它接受一个初始值作为参数,并返回一个包含当前状态和更新状态的数组。我们可以通过解构赋值来获取状态和更新状态的函数。例如: ``` const [count, setCount] = useState(0); ``` 这段代码声明了一个名为count的状态变量,并将初始值设置为0。setCount是一个函数,用于更新count的值。 2. useEffect:useEffect用于在组件渲染完成后执行一些副作用操作,比如发送网络请求、订阅事件等。它接受两个参数:一个副作用函数和一个依赖数组。副作用函数会在组件渲染完成后执行,而依赖数组用于指定何时重新执行副作用函数。 ``` useEffect(() => { // 执行副作用操作 // 返回一个清理函数(可选) }, [依赖数组]); ``` 依赖数组的值发生变化时,副作用函数会被重新执行。如果依赖数组为空,则副作用函数只会在组件首次渲染后执行一次。 除了useState和useEffect,React还提供了其他一些常用的Hooks,如useContext、useReducer、useCallback等,用于处理不同的需求。使用Hooks可以使我们更好地组织和管理组件的逻辑,使代码更易维护和复用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值