React useMemo

react hooks

https://reactjs.org/docs/hooks-reference.html#usememo



useCallback & useMemo

the difference is that useCallback returns a memoized callback and useMemo returns a memoized 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://usehooks.com/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的更多相关文章

  1. [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 ...

  2. React Hooks 深入系列 —— 设计模式

    本文是 React Hooks 深入系列的后续.此篇详细介绍了 Hooks 相对 class 的优势所在, 并介绍了相关 api 的设计思想, 同时对 Hooks 如何对齐 class 的生命周期钩子 ...

  3. 手写一个React-Redux,玩转React的Context API

    上一篇文章我们手写了一个Redux,但是单纯的Redux只是一个状态机,是没有UI呈现的,所以一般我们使用的时候都会配合一个UI库,比如在React中使用Redux就会用到React-Redux这个库 ...

  4. React报错之React Hook useEffect has a missing dependency

    正文从这开始~ 总览 当useEffect钩子使用了一个我们没有包含在其依赖数组中的变量或函数时,会产生"React Hook useEffect has a missing depende ...

  5. 精读《Function Component 入门》

    1. 引言 如果你在使用 React 16,可以尝试 Function Component 风格,享受更大的灵活性.但在尝试之前,最好先阅读本文,对 Function Component 的思维模式有 ...

  6. 干货满满-原来这才是hooks-React Hooks使用心得

    序言 ---最后有招聘信息哦-React是一个库,它不是一个框架.用于构建用户界面的Javascript库.这里大家需要认识这一点.react的核心在于它仅仅是考虑了如何将dom节点更快更好更合适的渲 ...

  7. useMemo优化React Hooks程序性能(九)

    useMemo主要用来解决使用React hooks产生的无用渲染的性能问题.使用function的形式来声明组件,失去了shouldCompnentUpdate(在组件更新之前)这个生命周期,也就是 ...

  8. React Hooks: useMemo All In One

    React Hooks: useMemo All In One useMemo https://reactjs.org/docs/hooks-reference.html#usememo refs x ...

  9. React Hooks & useCallback & useMemo

    React Hooks & useCallback & useMemo https://reactjs.org/docs/hooks-reference.html#usecallbac ...

随机推荐

  1. 跨度实际上是用来计算排位(rank) 目标节点在跳跃表中的排位 有序集 排序计算

    跳跃表的实现 - Redis 设计与实现 http://redisbook.com/preview/skiplist/datastruct.html 有序集合 /* ZSETs use a speci ...

  2. libco协程原理简要分析

    此文简要分析一下libco协程的关键原理. 在分析前,先简单过一些协程的概念,以免有新手误读了此篇文章. 协程是用户态执行单元,它的创建,执行,上下文切换,挂起,销毁都是在用户态中完成,对linux系 ...

  3. KDB调试 — ARM

    1        寄存器 1.1         通用寄存器 A64指令集可以看到31个64位通用(整数)寄存器,分别是R0-R30. 在64位上下文中,这些寄存器通常使用名称x0-x30来表示; 在 ...

  4. Jaspersoft Studio报表设计

    1      开发工具 1.1  软件名称 名称:TIBCO Jaspersoft Studio 版本:6.0或以上,建议6.2.1 1.2  软件安装 免安装软件包,拷贝即可使用,建议放在D:盘或其 ...

  5. 不会开发的你也能管理好企业漏洞,开源免费工具:洞察(insight II)

    前言 公司刚开始建设安全管理时,都是从一片混沌开始的,资源总是不够的,我们每个做安全的人员,又要会渗透,又要抓制度,还得管理各种漏洞.在管理楼栋是,我相信大家都遇到过以下几个问题: 漏洞提交太多,自己 ...

  6. ShowDoc,APIDoc,可道云API,语雀-适合IT企业的文档工具

    ShowDoc,APIDoc,可道云API,语雀-适合IT企业的文档工具 一.ShowDoc官方文档及说明 1.1 它可以用来做什么 1.2 它都有些什么功能 1.3 使用在线的ShowDoc 1.4 ...

  7. MySQL常见优化

    MySQL常见优化 1.操作符优化 1.1<> 操作符(不等于) 1.2LIKE优化 1.3in,not in,exists与not exists 1.3.1in和exists 2.whe ...

  8. Docker及其使用思维导图

    学习Docker的使用. 包括Docker的一些命令,Docker容器的使用,Docker镜像的使用,Docker容器连接等内容. 各种思维导图下载地址 Docker使用思维导图及各各种命令 Dock ...

  9. java 验证表单工具类,史上最全

    package com.wiker.utils; import java.util.regex.*; /** * * @version 1.0 * @author wiker * @since JDK ...

  10. SpringMVC系列(一)核心:处理请求流程

    http://blog.csdn.net/zhaolijing2012/article/details/41596803