【问题标题】:how to concat react-query previous data with new data如何将反应查询以前的数据与新数据结合起来
【发布时间】:2022-06-16 17:12:35
【问题描述】:

我有一个钩子,如果我向下滚动,它会像无限滚动一样调用新数据,但是当我向下滚动时,它会调用 API 获取新数据,但它正在删除以前的数据。我想与以前的数据连接。我认为可以通过react查询的select方法但是我怎样才能得到以前的数据

const useActivityFeedData = (
  activityFeedPageIndex: number,
  pageSize = Config.defaultPageSize,
) =>
  useQuery(
    [ACTIVITY_FEED, activityFeedPageIndex],
    () => Api.user.getActivityFeedData(activityFeedPageIndex, pageSize),
    {
      initialData: {
        activityList: [],
      },
      keepPreviousData: true,
      select: (res: any) => ({
        activityList: res.activityList,
      }),
    },
  );

【问题讨论】:

    标签: javascript reactjs react-query


    【解决方案1】:

    只需像这样在安装组件时创建一个数组,

     let [data, setData] = useState([])
    useEffect(()=>{
           
        },[])
    

    现在在相同的 useEffect 中获取 axios

    useEffect(()=>{
           let data = []
    axios.get(`....`).then(res=>{
    setData(res.data)
    })
        },[])
    

    现在滚动后,当你获得新数据时,只需将其连接到上一个数组。

    eg: axios.get(`...`).then(res=>{
    let var = data.concat(res.data)
    setData(var)
    })
    

    然后当你映射数据时,随着它的更新页面不断滚动。

    希望这会有所帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 2020-06-06
      • 1970-01-01
      • 2019-08-15
      • 1970-01-01
      相关资源
      最近更新 更多