首页

文章

如何在react中使用fetch调用接口

发布网友 发布时间:2022-04-19 09:46

我来回答

1个回答

热心网友 时间:2022-04-22 12:08

RN自带了一个非常优雅的网络操作库fetch,下面的这个例子从gankio的接口拿到了美女图片的url然后通过state 传给列表组件,列表里返回图片组件显示图片。网络数据获取方法写在componentDidMount中,这个方法是组件生命周期中需要调用的一个方法。
class AwesomeProject extends Component {// 初始化模拟数据

constructor(props) {
super(props);

const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => {r1 !== r2}});
this.state = {
dataSource: ds,
load:false,
text:''
};
}

//耗时操作放在这里面
componentDidMount(){
this.getNet();
}

getNet(){
fetch('http://gank.io/api/search/query/listview/category/福利/count/10/page/1')//请求地址
.then((response) => response.json())//取数据
.then((responseText) => {//处理数据
//通过setState()方法重新渲染界面
this.setState({
//改变加载ListView
load: true,
//设置数据源刷新界面
dataSource: this.state.dataSource.cloneWithRows(responseText.results),
})

})
.catch((error) => {
console.warn(error);
}).done();
}

render() {
if(this.state.load){
return (
<View style={{flex: 1, paddingTop: 22}}>
<ListView
dataSource={this.state.dataSource}
renderRow={(rowData)=>
<View>
<Image
style={{ width: 400, height: 250, marginTop: 5 }}
source={{uri:rowData.url}}/>
</View>}
/>
</View>
);
} else{
return(
<View>
<Text>loading......</Text>
</View>
);
}
}
}
这里使用的是fetch的一个参数的方法,参数自然就是url,默认请求方式是GET,还有两个参数的方法,第二个参数是一组请求参数。执行fetch后返回一个Promise对象,通过then继续获取数据,这里response.json表示获取json格式的数据,也可以用text获取纯文本的数据。
获取到json后接下来就是解析json,这里的json里面有一个result数组,直接拿出来作为数据源的数据传入即可。
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 react native键盘遮挡视图,怎么处理 react native android 混合开发 怎么互相调用 404 Not Found 404 Not Found React 之 config-overrides文件配置 node+react后台用webpack怎么做实时更新 如何开发由create-react-app 引导的应用 react-native image一定要设置 高宽 才能显示吗 react.js中怎么实现背景图适配手机 react import怎么使用 关于react项目中使用require导入图片不生效的问题 俄罗斯的先进战术导弹 巡航导弹巡航高度和飞行速度 闲鱼怎么找兴趣鱼塘 导弹可分为几种,用途,结构,材料? 什么叫巡航导弹 日本有类似飞鱼或者鱼叉的反舰导弹吗? 歼十有超视距导弹吗? 弹道导弹发射时要干什么,要输入哪些参数,能不能一竖起即可发射,如何缩短弹道导弹准备时间 法国飞鱼反舰导弹的导弹布局 React createClass 和 Component 有什么区别 react native布局方式怎么写 reactnative怎么使用百分比布局 如何在React组件中引入百度地图API web前端开发需要学习什么知识? 闲鱼的鱼塘怎么不见了 空中舞星,双龙拱门是什么 游乐设备现在有哪些? 企业庆典活动主要包括哪些类型 浙江福斯特 充气蹦床厂家及价格举例 竣工仪式的活动方案 什么叫pvc夹网充气船 珠海做会议布展,会议策划舞台背景搭建的广告公司? 空中舞星租一天多少钱 现在闲鱼发布宝贝怎么首页找不到会在鱼塘里 小米路由器登录地址 小米mi路由器设置网站是多少? 小米路由器登陆网址是多少 小米wifi设置网址入口
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com