react是没有ajax模块的,需要使用其它ajax库
一般是在componentDidMount中发送ajax请求,得到请求数据后,更新state
axios
axios本质上是对原生XMLHttpRequest的进行封装,只不过它支持Promise
(ES6原生提供的Promise对象,可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数)
axios的基本语法
fetch.js
fetch是新的发送ajax请求的方式(完全区别于XMLHttpRequest及其封装)
fetch的优点
语法简洁,更加语义化
基于标准的Promise实现(日后补上Promise对象整理)
fetch的缺点
fetch只对网络请求报错,对400,500都当做成功的请求,需要封装去处理
fetch没有办法原生监测请求的进度,而XHR可以
fetch的基本语法