zoukankan      html  css  js  c++  java
  • react_app 项目开发 (8)_角色管理_用户管理----权限管理 ---- shouldComponentUpdate

    角色管理

     

     

     

    • 性能优化(前端面试

    需求:只要执行 setState(), 就会调用 render  重新渲染。由于有时调用了 setState,但是并没有发生状态的改变,以致于不必要的刷新

    • 解决: 重写 shouldComponentUpdate(newProps, newStates)   使之返回 false 不更新

    默认返回 true,始终在一进行 setStete 时就进行渲染,即使数据无变化

    将新值 与 旧值 进行比较,改变了则进行渲染

    • 缺点: 所有相关的 改变,都要进行比较

    优化: import {PureComponent} from "react"    // 原理也是重写 shouldComponent 将组件状态/属性数据进行改变的判断

    将类 继承于 PureComponent 

    但是这样也带来了新问题: 在对 state 中数组进行 push 修改时

    原因: state 中存的是对 对象的引用变量,由于未发生改变,所以不会刷新页面

    解决: roles = [...this.state.roles, role]        // 重新生成新的对象,roles 指向新的对象

    总结:

    1. 使用 PureComponent 代替 Component

    2. 从 state 中取出数组或者对象,尽量

    const todos = [...this.state.todos];       // ES6

    或者 const todos = this.state.todos.splice();        // ES5

    5

    5

    5

    5

    5

    5

    5

    5

    4

    5

    5

    5

    5

    5

    55

    5

    5

    5

    5

    5

    5

    5

    5

    5

    5

    --------小尾巴 ________一个人欣赏-最后一朵颜色的消逝-忠诚于我的是·一颗叫做野的心.决不受人奴役.怒火中生的那一刻·终将结束...
  • 相关阅读:
    BOM 事件 navigator浏览器的判断
    闭包
    超简单超实用的走马灯效果实现
    对DOM的增删改查
    SVN版本回退与常用命令总结
    mongodb使用总结
    如何理解 IE 的文档兼容模式
    软件开发编码规范
    第一篇绑定数据 CMS
    关于IIS7.5下的web.config配置的一些问题
  • 原文地址:https://www.cnblogs.com/tianxiaxuange/p/10302016.html
Copyright © 2011-2022 走看看