React中useMemo的简单使用

这篇具有很好参考价值的文章主要介绍了React中useMemo的简单使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

useMemo主要用来解决使用React hooks产生的无用渲染的性能问题,用来做缓存用。

useMemo使用场景,比如有两个变量(依赖项),只需要在其中一个变量变化时发生变化,否则拿缓存的值;或者其中另一个变量的变化不需要引起重新计算时使用。该属性类似于vue中的计算属性,有返回值。

useMemo使用:
useMemo(fn, arr)第一个参数为函数。第二个参数为依赖项,并且其值发生改变,才会多次执行执行,否则只执行一次,如果为空数组[],fn只执行一次。

import React, {useState, useMemo} from 'react'

export default function UseMemoTest() {

  const [text, setText] = useState('')
  const [data, setData] = useState([
    {id: 1, name: 'test1111'},
    {id: 2, name: 'test222'},
    {id: 3, name: 'test334'},
    {id: 4, name: 'test444'},
  ])

  const handleChange = (e) => {
    setText(e.target.value);
  }

  const getList = useMemo(() => {
    return data.filter(item => {
      if(item.name.includes(text)) {
        return item
      }
    });
  }, [text]);

  return (
    <div style={{marginTop: 20}}>
      <input type="text" onChange={(e) => handleChange(e)}/>
      {
        getList.map(item => <div key={item.id}>{item.name}</div>)
      }      
    </div>
  )
}

 文章来源地址https://www.toymoban.com/news/detail-548985.html

到了这里,关于React中useMemo的简单使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • React性能优化之Memo、useMemo

    React 的渲染机制,组件内部的 state 或者 props 一旦发生修改,整个组件树都会被重新渲染一次,即时子组件的参数没有被修改,甚至无状态组件 会造成性能浪费 React.memo 是 React 官方提供的一个高阶组件,用于缓存我们的需要优化的组件 React 中的组件被设计为在状态或 props 值

    2024年02月14日
    浏览(26)
  • React.Memo和useMemo的区别?

    hello world欢迎来到前端的新世界 😜当前文章系列专栏:react.js 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家指出)🌹 💖感谢大家支持!您的观看就是作者创作的动力 React.memo和useMemo是React中两个不同的特性,用

    2024年02月06日
    浏览(40)
  • React的hooks---useCallback & useMemo

    useCallback  和  useMemo  结合  React.Memo  方法的使用是常见的性能优化方式,可以避免由于父组件状态变更导致不必要的子组件进行重新渲染 useCallback useCallback 用于创建返回一个回调函数,该回调函数只会在某个依赖项发生改变时才会更新,可以把回调函数传递给经过优化的

    2024年02月15日
    浏览(27)
  • React hooks之useEffect、useMemo优化技巧

    useEffect使用JSON.stringfy进行过滤,避免重复执行 将数组直接放入依赖数组可能不会按预期工作,因为数组比较是基于引用而不是内容。也就是说,如果数组引用没有变,即使数组内容发生了变化,副作用也不会重新运行。或者数组内饿哦那个没有改变但是引用却发生变化时,

    2024年02月12日
    浏览(37)
  • 理解 React 中的 useEffect、useMemo 与 useCallback

    先理解 useEffect 有助于学习 useMemo 和 useCallback。因为 useMemo 和 useCallback 的实现实际上都是基于 useEffect 的。 useEffect 是 React 中的一个很重要的 Hook,用于执行副作用操作。什么是副作用?简单来说,就是那些会改变函数外部变量或有外部可观察影响的操作。useEffect 允许你在函

    2024年02月03日
    浏览(32)
  • React安装ant design组件库,并使用

    ant design是一个很棒的组件库,官方地址:快速上手 - Ant Design 但是如何在React里面用起来,好像并不是很顺畅,没有像Vue里面那么友好,因为我踩过这个坑,虽然安装很简单,但是想要出样式,还是有点步骤的。 npm命令: yarn命令: pnpm命令: 千万不要简单的只看官方的文档

    2024年02月14日
    浏览(37)
  • React——Ant Design组件库Message全局提示的使用

    官网推荐使用Hook调用的方法         这种方法只能在本页显示,如果显示后跳转页面就不会显示。因为{contextHolder}是写在本页面的。如果需要跳转页面可以用promise调用 传递的参数依次为,提示信息、显示时间、关闭后触发的回调

    2024年02月11日
    浏览(31)
  • react ant icon的简单使用

    refer: 快速上手 - Ant Design 1.引入ant 2.在页面引用: 如果想要引入多个icon,可以这样书写: 上面这行代码就是在页面引入了ant的icon StarOutlined,在页面显示的是一个空心的星星 3.在需要的位置使用这个icon 上面这段代码是在查看这个button左侧增加了这个星星icon,如果你想设置c

    2024年02月14日
    浏览(27)
  • 第九篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:使用内置组件实现响应式设计

    第一篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:从helloworld开始 第二篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:天气应用 第三篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:健身追踪 第四篇【传奇开心果系列】Ant Design Mobile of React 开发移

    2024年01月21日
    浏览(49)
  • 【React】Ant Design自定义主题风格及主题切换

    Ant Design 的自定义主题,对于刚入手的时候感觉真是一脸蒙圈,那今天给它梳理倒腾下; 整体样式变化,主要两个部分: https://ant.design/docs/react/customize-theme-cn#theme 官方介绍一大堆,咱们粗暴点就当作 key=value 配置内容来看和理解! 大体分为四块配置项: 分类 涉及配置项 通

    2024年04月22日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包