当前位置: 首页 > 知识库问答 >
问题:

React Native Flastlist数据不更新,使用conate数组进行分页

高朝明
2023-03-14

我正在使用React Native Flatlist进行分页,但在应用排序或过滤后无法重新渲染。

简单附加工作//setResult(response.data.response.products.data)

与协奏不起作用 // 集结果([...结果。。。响应数据响应产品数据);

注意:也使用了extraData prop,但不起作用...

从“react”导入React,{useState,useEffect,use context };从“react-native”导入{ SafeAreaView,View,Text,StyleSheet,FlatList,ActivityIndicator,};

export default function GrSubCategoryLevel2(props) {
  const {navigation} = props;
  const [loading, setLoading] = useState(true);
  const [hasError, setHasError] = useState(false);
  const [result, setResult] = useState([]);
  const [data, setData] = useState([]);
  const [page, setPage] = useState(1);
  const [loadMore, setLoadMore] = useState(true);

  const [popularValue, setPopularValue] = useState(null);
  const [priceValue, setPriceValue] = useState('');

  useEffect(() => {
      fetchData(page);
    }
  }, []);


  const fetchData = async (page) => {
    if (loadMore) {
      const request = subCategoriesLevel2(page);
      try {
        const response = await axios({
          url: request.url,
          method: request.method,
          data: request.data,
          headers: {
            'Content-Type': 'application/json',
            'Accept-Language': 'en',
            Accept: 'application/json',
          },
        });
        if (!response.data.error) {
          setData(response.data.response);
          if (response.data.response.products.data.length > 0) {
            setResult([...result, ...response.data.response.products.data]);
            //setResult(response.data.response.products.data); 
            if (response.data.response.products.next_page_url !== null) {
              setPage(page + 1);
              setLoadMore(true);
            } else {
              setLoadMore(false);
            }
          }
          setLoading(false);
        }
      } catch (error) {
        if (error) {
          console.log('Error', error.message);
        }
      }
    }
  };

 

  const renderItem = ({item}) => (
    <SubCategoryProduct
      data={item}
      navigation={navigation}
    />
  );

  return (
      <SafeAreaView style={styles.container}>
        <Navbar navigation={navigation} />
        <View style={styles.container}>
            <View style={styles.container}>
              <View style={styles.subCategoryList}>
                <FlatList
                  data={result}
                  extraData={result}
                  renderItem={renderItem}
                  showsVerticalScrollIndicator={false}
                  columnWrapperStyle={{justifyContent: 'space-between'}}
                  numColumns={3}
                  keyExtractor={(item, index) => item.id}
                  onEndReached={() =>
                    fetchData()
                  }
                 
                  stickyHeaderIndices={[0]}
                  ListFooterComponent={
                    <View style={styles.loaderFooter}>
                      {loadMore && (
                        <ActivityIndicator
                          color={Colors.secondary}
                          size="small"
                        />
                      )}
                    </View>
                  }
                />
              </View>
            </View>
        </View>
      </SafeAreaView>
  );
}

暂时还没有答案

 类似资料:
  • 我有一个数据帧,我想按两个参数分组(1)相同的第一列中的连续编号和(2)第二列中的匹配值 数据帧: 组1包括前2行,因为30和31是连续的,第二列匹配。创建组2是因为Col1中的31和35不是连续的。创建组3是因为H和E不匹配。 在pandas groupby中对列表中的行进行分组 我很感谢你给我的建议

  • 问题内容: 在不使用sql / hiveContext的Spark中使用groupby-having的语法是什么?我知道我能做 但是我该如何使用类似的语法 这似乎不存在。 问题答案: 是的,它不存在。您表达了相同的逻辑,后跟:

  • 我有一系列推车。我想更新请求对象中的产品数量。即。 我有一个数组的产品和数量,比如: 我想更新它们,如: 这可能的逻辑是什么?

  • 问题内容: 我正在通过ng-repeat循环渲染数据。而且我希望它在更新数组时进行更新。从我阅读的内容来看,这应该会自动发生,但是这是行不通的。那我在做什么错? 的HTML: 控制器(此功能通过ng-click在按钮上触发): Console.log显示该数组已正确更新,但是我视图中的表未更改。我不知道我在做什么错。 问题答案: 那是因为您在method中更改了数组引用。 为了避免这种情况,我们使

  • 本文向大家介绍使用Python Pandas进行数据分析,包括了使用Python Pandas进行数据分析的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将看到使用Python pandas库进行的数据分析。图书馆的熊猫都是用C语言编写的。因此,我们在速度上没有任何问题。它以数据分析而闻名。我们在熊猫中有两种类型的数据存储结构。它们是Series和DataFrame。让我们一一看。 1.

  • 我正在用一些初始数据绘制一个条形图,然后在单击按钮时尝试更新。我收到错误“未捕获的类型错误:无法读取未定义的属性'长度'”。单击更新后,将发生错误。如何解决此问题并启用更新功能以绘制新的条形图? D3代码: