React Native填坑之旅–Button篇
React Native填坑之旅–动画
React Native填坑之旅–HTTP请求篇
如果不能从头到尾的建立一个RN应用,那么RN将失色不少。本以为HTTP请求部分需要使用Native的实现,Android和iOS各回各家,各调各库了。Google了一下之后居然RN可以使用fetch库。这个库是用来代替流传已久的XHR的。
下面看看如何使用fetch 请求Restful API的。API是dribbble的。这个API需要注册,所以如果你要运行下面的例子的话,最好注册一下,或者换一个站点的API试试。
随着ES6,JavaScript内置的支持了Promise这个填补回调地狱大坑的功能。fetch很好的利用了这一点,它的请求返回结果就是Promise。所以,bye回调。
fetch的使用非常简单,比现在流行的任何Native库都好用。
fetch('https://api.dribbble.com/v1/shots', init)
.then((response) => response.json())
.then((responseJson) => {
this.setState({message: `${responseJson[0].id} - ${responseJson[0].title}`});
})
.catch(e => {console.log(`error ${e}`)});
其中的init是一个Object或者说是一个字典,里面包含了关于请求方式是GET或者POST等的信息。看起来是这样的: