iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > 其他 >react怎么让子组件不渲染
  • 926
分享到

react怎么让子组件不渲染

组件React 2023-05-14 22:05:49 926人浏览 泡泡鱼
摘要

本教程操作环境:windows10系统、React18.0.0版、Dell G3电脑。react怎么让子组件不渲染?React 父组件重新渲染,子组件不需要渲染的三种性能优化方式(PureComponent,memo,shouldCompo

react怎么让子组件不渲染

教程操作环境:windows10系统、React18.0.0版、Dell G3电脑。

react怎么让子组件不渲染?

React 父组件重新渲染,子组件不需要渲染的三种性能优化方式(PureComponent,memo,shouldComponentUpdate);

//使用React普通函数时,可以使用两种优化方式,PureComponent和shouldComponentUpdate

//shouldComponentUpdate

//shouldComponentUpdate
class Foo extends Component {
  shouldComponentUpdate(nextProps,nextState){
    if(nextProps.count===this.props.count){ //传入的count与组件当前props的count比较,count没改变,return false,不渲染
      return false    //不渲染
    }
    return true;  //渲染
  }
  render() {
    console.log("组件渲染");  //可以看到,当父组件的name改变时,子组件不会打印,只有count改变,才会打印,优化性能
    return null
  }
}
 
class App extends Component {
  state = {
    count: 0,
    name: 0
  }
  render() {
    return (
      <Fragment>
        <Foo count={this.state.count} ></Foo>
        <button onClick={() => { this.setState(() => ({ count:this.state.count+1 })) }}>加count</button>
        <button onClick={() => { this.setState(() => ({ name: this.state.count+1 })) }}>加name</button>
      </Fragment>
 
    )
  }
}

//PureComponent

//引入PureComponent
import React, { Component, Fragment, PureComponent} from 'react';
//PureComponent,自动比较组件数据是否改变,注意只能比较一层,比如一个对象,对象中的属性改变,他不会重新渲染,只有对象改变,才重新渲染。
class Foo extends PureComponent {
  render() {
    console.log("组件渲染");
    return null
  }
}
 
class App extends Component {
  state = {
    count: 0,
    name: 0
  }
  render() {
    return (
      <Fragment>
        <Foo count={this.state.count} ></Foo>
        <button onClick={() => { this.setState(() => ({ count:this.state.count+1 })) }}>加count</button>
        <button onClick={() => { this.setState(() => ({ name: this.state.count+1 })) }}>加name</button>
      </Fragment>
 
    )
  }
}

//hooks 独有优化方式memo

//引入memo
import React, { Component, Fragment,  memo } from 'react';
//用memo把hooks包裹即可
const Foo = memo(function Foo(props) {
  console.log("组件渲染");
  return <div>count:{props.count}</div>
})
 
class App extends Component {
  state = {
    count: 0,
    name: 0
  }
  render() {
    return (
      <Fragment>
        <Foo count={this.state.count} ></Foo>
        <button onClick={() => { this.setState(() => ({ count:this.state.count+1 })) }}>加count</button>
        <button onClick={() => { this.setState(() => ({ name: this.state.count+1 })) }}>加name</button>
      </Fragment>
 
    )
  }
}

以上就是react怎么让子组件不渲染的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: react怎么让子组件不渲染

本文链接: https://www.lsjlt.com/news/206641.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • react怎么让子组件不渲染
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react怎么让子组件不渲染?React 父组件重新渲染,子组件不需要渲染的三种性能优化方式(PureComponent,memo,shouldCompo...
    99+
    2023-05-14
    组件 React
  • react如何让子组件不渲染
    本篇内容主要讲解“react如何让子组件不渲染”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react如何让子组件不渲染”吧!react让子组件不渲染的方法:1、通过“shouldCompone...
    99+
    2023-07-04
  • React前端渲染优化--父组件导致子组件重复渲染的问题
    目录React前端渲染优化--父组件导致子组件重复渲染说明一般的优化方式项目中常见会导致重复渲染的写法以及改进方法组件重复渲染问题(pureComponent, React.memo...
    99+
    2022-11-13
    React前端渲染优化 React父组件 React子组件 React重复渲染
  • React中怎么实现条件渲染
    今天就跟大家聊聊有关React中怎么实现条件渲染,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. if-else我们可以将 if-else 条件逻...
    99+
    2024-04-02
  • 解决react组件渲染两次的问题
    目录react组件渲染两次react总结之避免不必要的重复渲染类组件PureComponent使用插件seamless-immutable使用插件pure-render-decora...
    99+
    2022-11-13
    react组件渲染 react渲染两次 react组件
  • React中immutable的UI组件渲染性能详解
    目录引言UI组件渲染性能方案一:shallow compare方案二:直接对前后的对象进行deepCompare总结:引言 react 一直遵循UI = fn(state) 的原则,...
    99+
    2023-05-16
    React immutable UI组件渲染 React UI组件渲染
  • react有数据但渲染不上怎么办
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react有数据但渲染不上怎么办?react 获取后台数据渲染页面不显示问题描述:想要的结果:在一个 react 的 Component 获取后台的数据并...
    99+
    2023-05-14
    React 渲染
  • 减少react组件不必要的重新渲染实现方法
    目录什么是重新渲染不必要的重新渲染react组件重新渲染情况state变化父组件的重新渲染context变化在组件内创建组件一些减少重新渲染的方法useState初始值使用函数形式重...
    99+
    2023-01-09
    减少react组件重新渲染 react 重新渲染
  • react条件渲染指的是什么
    这篇文章主要介绍“react条件渲染指的是什么”,在日常操作中,相信很多人在react条件渲染指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”react条件渲染指的是...
    99+
    2024-04-02
  • react中usestate改变值不渲染怎么解决
    这篇文章主要介绍“react中usestate改变值不渲染怎么解决”,在日常操作中,相信很多人在react中usestate改变值不渲染怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2024-04-02
  • React组件渲染后对DOM的操作方式
    目录React组件渲染后对DOM的操作先看下显示效果完整代码如下React组件渲染原理jsx如何生成elementelement如何转化成真实DOM节点的总结React组件渲染后对D...
    99+
    2023-02-13
    React组件渲染 React组件 React操作DOM
  • 父组件中vuex方法更新state子组件不能及时更新并渲染怎么办
    这篇文章主要为大家展示了“父组件中vuex方法更新state子组件不能及时更新并渲染怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“父组件中vuex方法更新...
    99+
    2024-04-02
  • 怎么使用React虚拟渲染实现多个图表渲染
    今天小编给大家分享一下怎么使用React虚拟渲染实现多个图表渲染的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。需求每行渲染3...
    99+
    2023-07-02
  • React服务器端渲染怎么用
    这篇文章给大家分享的是有关React服务器端渲染怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。React 提供了两个方法 renderToString 和 renderTo...
    99+
    2024-04-02
  • Vue怎么实现条件渲染与列表渲染
    本文小编为大家详细介绍“Vue怎么实现条件渲染与列表渲染”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue怎么实现条件渲染与列表渲染”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、Vue条件渲染v-show...
    99+
    2023-06-30
  • React HooksuseReducer 逃避deps组件渲染次数增加陷阱
    目录前言自定义 Hooks 简单实现在组件中使用自定义 Hooks提前阻止 dispatch 触发优化后再测试结论题外前言 在快乐使用 React Hooks 开发自定义 Hooks...
    99+
    2024-04-02
  • Vue组件渲染与更新怎么实现
    这篇“Vue组件渲染与更新怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue组件渲染与更新怎么实现”文章吧。1. ...
    99+
    2023-07-05
  • react异步渲染问题怎么解决
    在React中,可以使用异步渲染来优化性能并提升用户体验。有几种方式可以解决React异步渲染问题:1. 使用React.lazy和...
    99+
    2023-08-19
    react
  • 怎么理解React hooks的渲染逻辑
    这篇文章主要介绍“怎么理解React hooks的渲染逻辑”,在日常操作中,相信很多人在怎么理解React hooks的渲染逻辑问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • Vue中的动态组件怎么实现渲染
    本篇内容介绍了“Vue中的动态组件怎么实现渲染”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、什么是动态组件动态组件指的是动态切换组件的显...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作