React Native 获取rtk查询时屏幕未重新呈现

x33g5p2x  于 2023-01-05  发布在  React
关注(0)|答案(1)|浏览(149)

我是RTK查询的新手。我正在实现“拉入刷新”,尝试在“拉入刷新”时再次调用GET API。API结果成功记录,但未刷新屏幕或返回更新的响应。我正在按如下方式使用它。

const [isRefreshing, setIsRefreshing] = useState(false)
  const [
    getListing,
    { data, isLoading, isError, error },
  ] = useLazyListingQuery()

  useEffect(() => {
    getListing('1')
  }, [])

  const fetchList = () => {
    setIsRefreshing(true)
    getListing('1')
  }

下面是平面列表组件

<FlatList
        data={data}
        showsVerticalScrollIndicator={false}
        onStartShouldSetResponder={() => true}
        renderItem={renderItem}
        keyExtractor={useCallback((item, index: number) => 'key' + index, [])}
        removeClippedSubviews
        maxToRenderPerBatch={5}
        windowSize={8}
        ItemSeparatorComponent={renderSeparator}
        ListHeaderComponent={renderSeparator}
        ListFooterComponent={renderSeparator}
        onRefresh={fetchList}
        refreshing={isRefreshing}
      />

任何帮助我们都会感激不尽。谢谢。

6mw9ycah

6mw9ycah1#

只使用普通的查询钩子怎么样?

const { data, isLoading, isFetching, isError, error, refetch} = useListingQuery()

      <FlatList
        data={data}
        // ...
        onRefresh={refetch}
        refreshing={isFetching}
      />

相关问题