zoukankan      html  css  js  c++  java
  • react缓存问题

    问题一:
    问题描述:

    我们公司自己的react项目,先打包部署v1.1版本,一切正常。

    v1.2版本做了很多页面和功能的修改和新增,但是打包部署之后,发现有些界面还是保持了v1.1的状态,比如有些新增按钮没有显示出来等等。需要手动清空浏览器缓存之后才会更新成新页面。

    原因:

    浏览器在访问相同的url的时候,会根据一些头信息来判断是否重新渲染和向服务器请求资源,也就是说,如果url是相同的,浏览器就有可能偷懒直接从缓存里面加载了旧的资源。

    解决:

    在页面url后面加hash,可以是时间戳或者随机数,这样每次url都不同,浏览器就不会偷懒了,每次都向服务器取最新的资源,也就解决了react的大坑---浏览器缓存问题。
    转载自:https://blog.csdn.net/github_36085116/article/details/56286186
    问题2
    复杂的react组件 setState不更新 - 使用函数作为setState的第一个参数
    写了一个很复杂的stateful组件,
    结果在某一个功能上,
    触发函数它却不更新视图了,
    难以排查,

    问题的关键在这行代码

    this.setState({ value: doSomething(this.state.value) })
    
    

    千万不要在this.setState中使用this.state.xxx取值,
    如果要使用this.state中的值,
    使用函数作为第一个参数:

    this.setState((prevState)=>({ value:  doSomething(prevState.value) })
    
    

    转载自:https://blog.csdn.net/sinat_24070543/article/details/80666676

  • 相关阅读:
    git
    *** errRun
    Centos与Debian的安装命令
    HTML基础
    基本的SQL语言
    phpstudy靶场搭建
    Centos7下搭建服务器(apache+mysql+php)
    Centos7设置yum源
    Linux基础
    一个服务器中搭建多个站点
  • 原文地址:https://www.cnblogs.com/smart-girl/p/10482552.html
Copyright © 2011-2022 走看看