首页 > 其他分享 >React进阶篇——二、组件与服务器通信

React进阶篇——二、组件与服务器通信

时间:2022-10-25 15:24:37浏览次数:75  
标签:componentWillMount componentDidMount 通信 React 进阶篇 组件 服务器

二、组件与服务器通信

1,组件挂载阶段通信

componentDidMount是调用服务器API最安全的地方,也是React官方推荐的进行服务器通信的地方。除了在componentDidMount,在componentWillMount中进行服务器通信也是比较常见的一种方式。

componentWillMount会在组件被挂载前调用,因此从时间上来讲,componentWillMount中执行服务器通信要早于componentDidMount。但两者执行的时间差微乎其微,完全可以忽略不计。

componentDidMount是执行组件与服务器通信的最佳地方,原因:

  • 在componentDidMount执行服务器通信可以保证获取到数据时,组件已经处于挂载状态,此时可以操作DOM
  • 当组件在服务器端渲染时,componentWillMount会执行两次,一个在服务器端,一次在浏览器端,而componentDidMount能保证在任何情况下只会被调用一次,从而不会发送多余的数据请求。

2,组件更新阶段通信

例如,组件需要以props中某个属性作为与服务器通信的请求采纳数,当这个属性值发生更新时,组件自然需要重新余服务器通信。

componentWillReceiveProps(nextProps){
        if(nextProps.category !== this.props.category) {
            // fetch
        }
    }
componentWillReceiveProps的执行并不能说明props一定发生了修改

标签:componentWillMount,componentDidMount,通信,React,进阶篇,组件,服务器
From: https://www.cnblogs.com/sxww-zyt/p/16824914.html

相关文章

  • Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)
    参考在线markdown编辑器:​​http://marxi.co/​​Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)目前希望可以升级将Zookeeper中log4j的版本升级到log......
  • React性能优化的8种方式
    一引沿Fiber架构是React16中引入的新概念,目的就是解决大型React应用卡顿,React在遍历更新每一个节点的时候都不是用的真实DOM,都是采用虚拟DOM,所以可以理解成fiber就是R......
  • React核心工作原理
    ##1.1、虚拟DOM常见问题:reactvirtualdom是什么?说一下diff算法?拿到一个问题,一般回答都是是什么?为什么?怎么办?那就按照这个思路来吧!what用JavaScript对象表示DOM......
  • React的5种高级模式
    本文概述了5种现代高级React模式,包括集成代码、优点和缺点,以及在公共库中的具体用法。像每个React开发者一样,你可能已经问过自己以下问题之一我如何建立一个可重复使用......
  • React生命周期深度完全解读
    在React中,对于每一次由状态改变导致页面视图的改变,都会经历两个阶段:render阶段、commit阶段。只有class组件才有生命周期,因为class组件会创建对应的实例,而函数组......
  • 微信小程序需要服务器吗?它对海外服务器有什么要求
    近年来,很多企业都在开发自己的小程序,与此同时也会遇到很多问题。比如,微信小程序需要海外服务器吗?微信小程序的配置要是什么样的?微信小程序对海外服务器有哪些要求?以......
  • 创建一个json-server服务器
    json-server官网https://www.npmjs.com/package/json-server#getting-started1全局安装json-servernpminstall-gjson-server2创建json文件存储数据//db.......
  • 服务器iDRAC远程控制卡的使用方法
     iDRAC远程控制卡的配置与连接: 服务器开机按F2进入SystemSetup 选择iDRACSettings 选择Network 将IPv4设置为Enabled、DHCP设置为Disabled后输入IP地址、......
  • 阿里云服务器重启后宝塔面板无法访问
    因为宝塔面板上的很多东西正在运行,而我们突然关闭服务器,就可能会造成卡死的状态一般如何解决查看服务器上的防火墙是否自动开启,如果开启关闭即可,命令自查查看宝塔的......
  • Oracle的服务器端和客户端同时安装Sqlplus无法登陆的处理
    现象:1.在Server2012安装完数据库,可正常登陆,服务器认证如下正常2.可是安装完客户端后,Sqlplus无法登陆,如下报错2、问题解决自己分析原因:应该是环境变量中自动调用的oracle......