React useMemo
React useMemo
react hooks

https://reactjs.org/docs/hooks-reference.html#usememo
useCallback & useMemo
the difference is that
useCallbackreturns amemoized callbackanduseMemoreturns amemoized value
https://flaviocopes.com/react-hook-usememo/
import React, { useMemo } from 'react';
// cache value
const memoizedValue = useMemo(() => expensiveOperation());
const memoizedValue = useMemo(() => expensiveOperation(param1, param2), [param1, param2])
import React, { useCallback } from 'react';
const memoizedCallback = useCallback(
() => {
doSomething(a, b);
},
[a, b],
);
refs
https://medium.com/javascript-in-plain-english/react-usememo-and-when-you-should-use-it-e69a106bbb02
https://kentcdodds.com/blog/usememo-and-usecallback
https://www.digitalocean.com/community/tutorials/react-usememo
https://jancat.github.io/post/2019/translation-usememo-and-usecallback/
https://www.youtube.com/watch?v=RkBg0gDTLU8
useFetch

"use strict";
/**
*
* @author xgqfrms
* @license MIT
* @copyright xgqfrms
* @created 2020-06-08
* @modified
*
* @description useFetch 自定义 react hooks
* @augments
* @example
* @link
*
*/
import {
useEffect,
useState,
useRef,
} from "react";
const log = console.log;
const useFetch = (url = ``) => {
const isCurrent = useRef(true);
const [state, setState] = useState({
data: null,
loading: true,
});
useEffect(() => {
return () => {
// component unmount
isCurrent.current = false;
}
}, []);
useEffect(() => {
setState(state => ({
data: state.date,
loading: true,
}));
fetch(url)
.then(res => res.json())
.then(json => {
log(`json`, json)
if(isCurrent.current) {
setState({
data: json.date,
loading: false,
})
}
})
return () => {
cleanup
}
}, [url, setState]);
return state;
}
export default useFetch;
export {
useFetch,
};
https://github.com/benawad/react-hooks-tutorial/blob/5_useMemo/src/useFetch.js
refs
xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
React useMemo的更多相关文章
- [React] Always useMemo your context value
Have a similar post about Reac.memo. This blog is the take away from this post. To understand why to ...
- React Hooks 深入系列 —— 设计模式
本文是 React Hooks 深入系列的后续.此篇详细介绍了 Hooks 相对 class 的优势所在, 并介绍了相关 api 的设计思想, 同时对 Hooks 如何对齐 class 的生命周期钩子 ...
- 手写一个React-Redux,玩转React的Context API
上一篇文章我们手写了一个Redux,但是单纯的Redux只是一个状态机,是没有UI呈现的,所以一般我们使用的时候都会配合一个UI库,比如在React中使用Redux就会用到React-Redux这个库 ...
- React报错之React Hook useEffect has a missing dependency
正文从这开始~ 总览 当useEffect钩子使用了一个我们没有包含在其依赖数组中的变量或函数时,会产生"React Hook useEffect has a missing depende ...
- 精读《Function Component 入门》
1. 引言 如果你在使用 React 16,可以尝试 Function Component 风格,享受更大的灵活性.但在尝试之前,最好先阅读本文,对 Function Component 的思维模式有 ...
- 干货满满-原来这才是hooks-React Hooks使用心得
序言 ---最后有招聘信息哦-React是一个库,它不是一个框架.用于构建用户界面的Javascript库.这里大家需要认识这一点.react的核心在于它仅仅是考虑了如何将dom节点更快更好更合适的渲 ...
- useMemo优化React Hooks程序性能(九)
useMemo主要用来解决使用React hooks产生的无用渲染的性能问题.使用function的形式来声明组件,失去了shouldCompnentUpdate(在组件更新之前)这个生命周期,也就是 ...
- React Hooks: useMemo All In One
React Hooks: useMemo All In One useMemo https://reactjs.org/docs/hooks-reference.html#usememo refs x ...
- React Hooks & useCallback & useMemo
React Hooks & useCallback & useMemo https://reactjs.org/docs/hooks-reference.html#usecallbac ...
随机推荐
- java虚拟机——轻松搞懂jvm
一.JVM体系结构概述 JVM位置 JVM体系结构 1.1 类加载器 ClassLoader 类加载器(ClassLoader)负责加载class文件,class文件在文件开头有特定的文件标示,并 ...
- shell命令分隔符 二叉树结构的命令行树
shell命令分隔符 二叉树结构的命令行树 I ;&
- ETL调优的一些分享(下)(转载)
如在上篇文章<ETL调优的一些分享(上)>中已介绍的,ETL是构建数据仓库的必经一环,它的执行性能对于数据仓库构建性能有重要意义,因此对它进行有效的调优将十分重要.ETL业务的调优可以从若 ...
- 命名规范 api-guidelines api规范
https://weui.io weui.css .weui-cell_select-before .weui-cell__bd:after{ display:none; } .weui-cell_s ...
- 【PostgreSQL】PostgreSQL数据库浅析
前言 工作中数据库用的不多,大部分都是简单查询一下了事,某项目中突然要求后端进行比较全面的数据库操作,现对自己学到的东西做一下总结. 简介 废话不多说,上官网地址: PostgreSQL 9.4.4 ...
- 使用nodejs构建Docker image最佳实践
目录 简介 准备nodejs应用程序 创建Dockerfile文件 创建.dockerignore文件 创建docker image 运行docker程序 node的docker image需要注意的 ...
- Chrome标签整理
程序人生 设计素材类网站 关于生活 求职相关网站 Web前端 科技新闻相关网站 优秀资源内含丰富学习资料 项目实例视频资料等 面试简历相关 适合初学者自学的编程网站 国内优秀博客 由于平时经常浏览一些 ...
- JavaScript学习(一)——引擎,运行时,调用堆栈
JavaScript引擎 谷歌 V8 引擎是流行的 JavaScript 引擎之一.V8 引擎在诸如 Chrome 和 Node.js 内部使用. 引擎包括两个主要组件: 动态内存管理 – 在这里分配 ...
- 复制虚拟机,链接网络问题:没有找到合适的设备:没有找到可用于链接System eth0 的
http://my.oschina.net/coolfire368/blog/292742 1./etc/udev/rules.d/70-persistent-net.rules 修改也成,修改时留下 ...
- Docker and Kubernetes -- 监控(weave scope)
docker常用的监控工具 weave scope 简介 Weave Scope是Docker和Kubernetes的可视化监控管理软件 Weave Scope 会自动生成容器之间的关系图,方便理解容 ...