即使在React Native中添加了数据后,flatlist也无法正确呈现数据?

吉潭树

我在onMomentumScrollEnd的平面列表中添加数据,我从REST API接收到数据仍无法正确呈现数据。

        <FlatList
          onMomentumScrollEnd={() =>
            this.state.pageno <= this.state.maxPage
              ? this.getData('', 1, this.state.pageno + 1)
              : null
          }
          onEndReachedThreshold={0.5}
          data={this.state.responseData}
          ItemSeparatorComponent={this.ItemSeparatorLine}
          keyExtractor={(item, index) => index.toString()}
          showsVerticalScrollIndicator={true}
          renderItem={({item}) => (this.renderMyItem(item)} 
        />

这是附加数据的功能,该功能可以在this.state.responseData中完美地获取数据

getData(text, apiType, pageno) {
    this.showLoader();
    this.setState({
      pageno: pageno,
      search: text,
      type: apiType,
    });

    let data = {
      pageNo: pageno,
      type: apiType,
      search: text,
      sortedBy: '',
      sortedIn: 'DESC',
      filter: {},
    };

    const headers = {
      'X-Auth-Token': this.state.token,
      'Content-Type': 'application/json',
    };

    console.log(data);

    axios
      .post(PIDataApi, data, {headers: headers})
      .then(response => {
        this.setState({
          isLoading: false,
        });
        if (response.data.status != 2000) {
          Toast.show(response.data.error.errorMessage, Toast.SHORT);
        } else {
          if (response.data.data.resource != null) {
            let historyData = response.data.data.resource;
            console.log('api response:', historyData);
            if (this.state.pageno > 1) {
              this.setState({
                responseData: [...this.state.responseData, historyData],
                maxPage: response.data.data.maxPage,
              });
              console.log('responseData : ', this.state.responseData);
            } else {
              this.setState({
                responseData: historyData,
                maxPage: response.data.data.maxPage,
              });
            }
          } else {
            Toast.show(response.data.data.message, Toast.SHORT);
          }
        }
      })

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

即使正确添加数据,您也可以查看列表中数据的呈现方式 在此处输入图片说明

Shubham Khatri

您从axios请求获得的响应以数组的形式向您发送了historyData,但是您直接将其设置为状态而不传播

另外,当您根据以前的状态更新状态时,请务必使用功能性setState

  if (this.state.pageno > 1) {
          this.setState(prevState => ({
            responseData: [...prevState.responseData, ...historyData], // spread historyData here
            maxPage: response.data.data.maxPage,
          }));
        } else {
          this.setState({
            responseData: historyData,
            maxPage: response.data.data.maxPage,
          });
        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么Firebase中的数据无法在我的FlatList(React Native)中呈现?

来自分类Dev

即使收到正确的数据,React Native FlatList renderItem也不返回任何内容

来自分类Dev

在React Native中没有使用Flatlist呈现数据

来自分类Dev

即使添加了足够的内容,视频也无法播放

来自分类Dev

React Native-无法解决模块-即使路径正确

来自分类Dev

FlatList不呈现JSON数组React-native的数据

来自分类Dev

如何修改从 elasticsearch 获取的数据结构以在 React Native flatlist 中呈现项目?

来自分类Dev

即使有数据,React Native也不会渲染道具

来自分类Dev

即使正确设置编码后也无法在MySQL中插入CAFÉ

来自分类Dev

即使使用箭头功能,React也无法读取.then()中未定义的setState属性

来自分类Dev

即使添加__init__.py后也无法导入模块

来自分类Dev

React-TypeScript在prop中添加了undefined,即使定义了defaultProps

来自分类Dev

即使存在数据,Map() 也不是函数 React-Leaflet

来自分类Dev

更新数据后,React无法正确渲染

来自分类Dev

即使在Firefox和Chrome中都添加了显示WebKit之后,Display Flex也无法正常工作

来自分类Dev

即使我添加了密钥也无法访问我的Heroku回购

来自分类Dev

动态创建的 React 组件即使使用大写也呈现为 HTML

来自分类Dev

即使遵循以下示例,也无法加入数据框

来自分类Dev

即使已连接 PHP 也无法选择数据库

来自分类Dev

即使有大量数据,WPF DataGrid 也无法滚动

来自分类Dev

React Native - 修改(添加)数据后,图表不会正确重新渲染

来自分类Dev

即使我正确设置了路径,React仍未找到模块

来自分类Dev

即使正确设置了配置,React代理也不起作用

来自分类Dev

React.js-即使绑定后,“ this”也未定义

来自分类Dev

即使prometheus源显示变量,也无法在grafana中获取数据

来自分类Dev

FB OpenGraph og:即使URL正确呈现,图像也无法提取图像

来自分类Dev

css即使路径正确也无法加载

来自分类Dev

我正在通过 POST 从 select 中获取数据,即使在使用 isset 后,它也无法与条件语句一起正常工作?

来自分类Dev

即使浏览器刷新后,React路由器也将保留其状态数据

Related 相关文章

  1. 1

    为什么Firebase中的数据无法在我的FlatList(React Native)中呈现?

  2. 2

    即使收到正确的数据,React Native FlatList renderItem也不返回任何内容

  3. 3

    在React Native中没有使用Flatlist呈现数据

  4. 4

    即使添加了足够的内容,视频也无法播放

  5. 5

    React Native-无法解决模块-即使路径正确

  6. 6

    FlatList不呈现JSON数组React-native的数据

  7. 7

    如何修改从 elasticsearch 获取的数据结构以在 React Native flatlist 中呈现项目?

  8. 8

    即使有数据,React Native也不会渲染道具

  9. 9

    即使正确设置编码后也无法在MySQL中插入CAFÉ

  10. 10

    即使使用箭头功能,React也无法读取.then()中未定义的setState属性

  11. 11

    即使添加__init__.py后也无法导入模块

  12. 12

    React-TypeScript在prop中添加了undefined,即使定义了defaultProps

  13. 13

    即使存在数据,Map() 也不是函数 React-Leaflet

  14. 14

    更新数据后,React无法正确渲染

  15. 15

    即使在Firefox和Chrome中都添加了显示WebKit之后,Display Flex也无法正常工作

  16. 16

    即使我添加了密钥也无法访问我的Heroku回购

  17. 17

    动态创建的 React 组件即使使用大写也呈现为 HTML

  18. 18

    即使遵循以下示例,也无法加入数据框

  19. 19

    即使已连接 PHP 也无法选择数据库

  20. 20

    即使有大量数据,WPF DataGrid 也无法滚动

  21. 21

    React Native - 修改(添加)数据后,图表不会正确重新渲染

  22. 22

    即使我正确设置了路径,React仍未找到模块

  23. 23

    即使正确设置了配置,React代理也不起作用

  24. 24

    React.js-即使绑定后,“ this”也未定义

  25. 25

    即使prometheus源显示变量,也无法在grafana中获取数据

  26. 26

    FB OpenGraph og:即使URL正确呈现,图像也无法提取图像

  27. 27

    css即使路径正确也无法加载

  28. 28

    我正在通过 POST 从 select 中获取数据,即使在使用 isset 后,它也无法与条件语句一起正常工作?

  29. 29

    即使浏览器刷新后,React路由器也将保留其状态数据

热门标签

归档