ReactNative(2){网络请求、FlatList组件、触底加载/下拉刷新/回到顶部/元素绑定}

一、网络请求// rnc/*** * View: 不可以滚动 * * ScrollView: 可以滚动 * * 将接口数据展示到页面上 实现的基本步骤: * 发送请求=>接收返回数据=>存储本地=>展示渲染 * */import React, { Component } from "react";import { Text, View, Dimensions, Image, ScrollView } from "react-native";// rpx计算c
摘要由CSDN通过智能技术生成

一、网络请求

// rnc
/***
 * View: 不可以滚动
 *
 * ScrollView: 可以滚动
 *
 * 将接口数据展示到页面上 实现的基本步骤:
 * 发送请求=>接收返回数据=>存储本地=>展示渲染
 *
 */
import React, { Component } from "react";
import { Text, View, Dimensions, Image, ScrollView } from "react-native";
// rpx计算
const rpx = (x) => (Dimensions.get("window").width / 750) * x;
export default class App extends Component {
  // state 组件状态
  state = { result: [] };
  // 组件挂在时触发
  componentDidMount() {
    const url = "https://api.apiopen.top/getWangYiNews";
    // 发送请求调用接口
    fetch(url)
      .then((res) => res.json())
      .then((res) => {
        console.log(res);
        /***
         * RN中 控制台打印的信息  需要在命令行控制台查看
         * 使用起来不方法,RN提供了debug调试模式
         * 注意:调试模式目前还不是太稳定,需要时候打开它,不使用的时候关闭。否则,会出现一些奇怪的问题。异常的报错,一些功能异常失效。
         * 调试模式打开方式:
         * 1.cmd里 敲d 打开开发者菜单
         * 2.模拟器里选择菜单  debug
         * 3.浏览器弹出debug ui工具
         * 打开console就可以看到打印信息了
         *
         * 关闭和打开过程类似 先cmd里敲d 模拟器选择stopping dugging
         *
         *  */
        this.setState({ result: res.result });
      });
  }
  showNews() {
    return this.state.result.map((item, index) => {
      return (
        <View
          key={index}
          style={
  { flexDirection: "row", borderBottomWidth: 1 }}
        >
          <Image
            source={
  { uri: item.image }}
            style={
  { width: rpx(250), height: rpx(150) }}
          ></Image>
          <View style={
  { flex: 1, justifyContent: "space-between" }}>
            <Text style={
  { fontSize: rpx(25) }}>{item.title}</Text>
            <Text style={
  { fontSize: rpx(25) }}>{item.passtime}</Text>
          </View>
        </View>
      );
    });
  }
  render() {
    return (
      // 用ScrollView替换原来的View 使页面可以滚动
      <ScrollView>
        {/* 调用方法 实现页面的展示 */}
        {this.showNews()}
      </ScrollView>
    );
  }
}

二、FlatList组件

高能性能列表组件,提供了多个属性使用。方便开发者快速开一些功能。

①FlatList核心属性

FlatList 三个核心属性:

  • data 需要显示的数组数据
  • renderItem 数组每个元素对应的UI界面标签和样式
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值