React-Native之网络数据请求|白话RN

网络请求一直都是很重要又很难得一部分, 只要和网络挂钩的都比较复杂,相对于iOS的网络请求,RN的网络数据该如何请求来呢?

一般RN常用的是fetch(){}函数来请求数据, (PS:个人理解:😁取一层存到一个参数,剥离到最后我们需要的存到对应数组)

  • 有关网络处理'定时器处理等复杂操作要放到componentDidMount(){ }这个方法里面写
// 请求网络数据
  componentDidMount(){   
      this.loadDataFromNet();//内部调用网络请求的具体操作
  },
  • 网络请求部分的链接是固定的, 固定的参数在getDefaultProps(){}这个方法里面初始化
getDefaultProps(){   //
return {      
     url_api:"http://c1.m.163.com/nc/article/headline/T1348647853363/0-20.html?from=toutiao&fn=2&passport=&devId=nTM86EPlcxZu09VdpTEh6aR3%2B%2FQX6x8vHBD3ne3k5bbgOrg%2FIP5DcguSDmtYyWbs&size=20&version=8.1&spever=false&net=wifi&lat=5OtqEKiivwW4K%2BGMt6DBdA%3D%3D&lon=jKlRVyYkSNti2wwsjGQHrw%3D%3D&ts=1463384311&sign=TtD7IZllDljVzBs2E4sa9fQyKTKF021w2EUC6qx1gEN48ErR02zJ6%2FKXOnxX046I&encryption=1&canal=appstore",     
     key_word: 'T1348647853363'   
}},
loadDataFromNet(){    
    fetch(this.props.url_api)       //初始化url
       .then((response)=>response.json())   //把请求到的数据转换为我们熟悉的JSON     ,转换到responseData里面
       .then((responseData)=>{            
// 拿到所有的数据           
        var jsonData = responseData[this.props.key_word];   //通过具体的KEY 取出数据         
// 处理网络数据           
        this.dealWithData(jsonData);        
})        
 .catch((error)=>{ //这一步是为了处理异常情况的(如断网),数据没有就从本地请求,前提你在本地要有这个数据,一般做法是自己建一个JS文件把一些json数据放进去,在加载
       if(error){               
 // 拿到所有的数据                
           var jsonData = LocalData[this.props.key_word];                
// 特殊处理                
           this.dealWithData(jsonData)     //调用下面截图的方法       
 }        
})},
具体的数据请求操作.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容