react.js - componentWillMount 中,如果设置了ajax,会阻塞渲染吗?

查看:221
本文介绍了react.js - componentWillMount 中,如果设置了ajax,会阻塞渲染吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

想实现一个功能:
去服务器取数据,如果服务器有数据就渲染,如果没有就用默认的getInitialState中的数据。
我的做法是:在componentWillMount 中发起一次ajax请求。
但是问题来了:因为ajax是异步的,如果服务器响应时间过长,会不会导致先渲染getInitialState中的数据。而且因为ajax响应太慢,导致前端渲染阻塞。

解决方案

不会阻塞的,但是组件只会mount一次,第一次render的时候用的state里的初始数据然后mount(这时候你就能在页面看到东西了),这时候你的ajax发起请求,等一段时间数据回来后,如果你在success回调里重新给state赋值的话,react会因为state的改变重新render一次页面.

这篇关于react.js - componentWillMount 中,如果设置了ajax,会阻塞渲染吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆