react-native的网络请求用fetch,及其简单,请求到的数据保存起来,react-native用state来保存数据,类似于Java的request,还可以传递给另一个类,所以就是:请求数据,赋值。展示数据这里用ListView,有点类似于Java的HashMap,要求唯一的key,一个key代表一条数据。
定义一个方法,接收fetch的数据,并赋值给state中的dataSource:
buttonTap=()=>{
fetch( 'http://bbs.reactnative.cn/api/category/3'
).then((response)=>response.json())
.then((jsondata) =>{
const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
this.setState({dataSource: ds.cloneWithRows(jsondata.topics)});
this.setState({title:jsondata.description});
//alert(jsondata);
})
.catch((error)=>{
alert(error);
console.warning(error);
});
};
由于ListView会跟Swiper有滑动冲突,所以,在用ListView渲染数据时,要做个判断componentDidMount(),等ListV