【问题标题】:how to pass useInfiniteQuery Hook from one screen to another using react-query如何使用 react-query 将 useInfiniteQuery Hook 从一个屏幕传递到另一个屏幕
【发布时间】:2023-01-07 03:38:56
【问题描述】:

我在 screenA 中有一个连续 3 列的 flatList,还有一个带有 flatList 的 screenB,它也以不同的方式显示 screenA 数据。一旦用户点击 screenA 中的项目,它就会导航到 screenB 并滚动到项目的索引。我正在使用react-query 来获取数据。我的问题是如何以真正的方式处理 fetchNextPage 。因为如果用户在 screenB 中滚动,下一页数据应该加载到两个屏幕中。将useInfiniteQuery返回的所有{data, fetchNextPage, hasNextPage, refetch}传递给screenB是否正确?或者还有其他解决方案? 谢谢你的帮助

【问题讨论】:

    标签: react-native react-query


    【解决方案1】:

    您可以将所有数据传递给 screenB 就可以了。但我的建议是,只有一个屏幕包含 screenA 组件和 screenB 组件,并根据 useState 挂钩显示您想要的组件。

    const [screen,setScreen] = useState('screenA');
    

    每次你需要显示屏幕时,你将屏幕设置为屏幕

    setScreen('screenB');
    

    在你的 jsx 中:

    screen === 'screenA' ? (ScreenAcomponent) : (ScreenBcomponent)
    

    【讨论】:

      猜你喜欢
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 2020-11-14
      • 1970-01-01
      • 2022-12-07
      相关资源
      最近更新 更多