useSetState 编写

useSetState 是通过 useState 编写的同类组件this.setState 功能相似的公共方法。(存在回调函数的区别,this.setState 第二个参数有回调);

import { useState } from 'react';
import _ from 'lodash';type Patch<State> = (patch: Partial<State> | ((prevPatch: State) => Partial<State>)
) => void;type ExcludeT<State> = Exclude<Extract<State, object>, Function>;export function useSetState<T>(initialState: ExcludeT<T>): [ExcludeT<T>, Patch<ExcludeT<T>>] {if (!_.isPlainObject(initialState)) { // initialState && initialState.constructor === Object && Object.getPrototypeOf(initialState) === Object.prototypethrow new Error('state is not Plain Object');}const [state, setState] = useState(initialState);const setUseState: Patch<ExcludeT<T>> = patch => setState(prevState => ({...prevState,...(patch instanceof Function ? patch(prevState) : patch)}));return [state, setUseState];
}

useSetState相关推荐

  1. js库笔记(一):swr ahooks

    swr & ahooks: 介绍 swr 一.swr解决的问题: 二.swr使用方法: ahooks 一.useRequest 二.场景应用-常用hooks 三.场景应用-其他hooks 四. ...

  2. react兄弟组件之间的传值

    react兄弟组件之间的传值 一.通过redux 1.在redux中找到对应的文件设置 a. b. c. d. 2.页面存储数据到redux中 3.页面提取redux里面的数据 二.通过hook中的c ...

  3. ahook中常用的一些hooks

    官方文档:https://ahooks.js.org/zh-CN/ 以下总结一些个人认为非常实用的hook: 1)useRequest 请求 import {useRequest } from 'ah ...

最新文章

  1. “Assign Random Colors” is not working in 3ds Max 2015
  2. java 登录按钮响应数据库_用户登录功能的实现—从前端到后台(包括数据库)...
  3. 红绿灯问题(位运算)
  4. python画图代码彩虹-用python画一颗彩虹色爱心送给女朋友!!!
  5. 实战项目四:爬取911网站
  6. JZOJ 3852. 【NOIP2014八校联考第2场第2试9.28】单词接龙(words)
  7. BAT笔试试题常见试题总结含答案(持续更新。。。)
  8. php joomla,基于MySQL / PHP和Joomla的因特网管理信息系统设计
  9. C++11之std::async使用介绍
  10. 再见,再见,5 * 60 * 1000 //五分钟,再见,再见
  11. 开创手机影像全新时代的微云台要来了!vivo X系列夏季新品发布会今晚高能来袭...
  12. pandas—总结(2) 数据读写 (更新中)
  13. 详解SQL2005中的AWE
  14. 11 EDA技术实用教程【时序电路的Verilog设计2】
  15. 科大讯飞语音合成实例
  16. 音频分离Spleeter的安装
  17. 网络书店可行性分析报告
  18. koa2异常处理_【HAVENT原创】KOA2 异常处理
  19. matlab解二元二次方程组
  20. 比特率 波特率 数据传输速率 区别

热门文章

  1. 2020 可替代Selenium的测试框架Top15
  2. Python这几个库,快到飞起
  3. ubuntu安装命令汇总
  4. 豆豆趣事[2016年11月]
  5. 微信小程序 文字下标_微信小程序循环下标 微信小程序怎么做
  6. [揭秘]电商“一元购”后又现“0元单”,究竟是个什么“鬼”?
  7. Vaadin01 反序列化
  8. 【Elasticsearch】全文搜索
  9. 计算机组成原理(3)三级存储 局部性原则 存储器性能指标 扩展 DRAM编址方式 cache 三种映射 替换策略
  10. 滤镜汉化入门篇 [来自汉化新世纪]