Reactjs 如何使useSWR突变具有给定的初始值?

Reactjs 如何使useSWR突变具有给定的初始值?,reactjs,next.js,swr,Reactjs,Next.js,Swr,问题是,如果我移除初始值,那么一切都会工作。 我认为具有初始值的数据不会被缓存。但我不知道如何解决这个问题。 如果初始数据发生变化,则返回未定义 在页面组件中: const { data, error } = useSWR("/api/company/", { initialData: company, }); 我不确定你们公司的有效载荷,但对于初始值,它在装载时并没有重新验证,所以你们需要将revalidateOnMount设置为true const {

问题是,如果我移除初始值,那么一切都会工作。 我认为具有初始值的数据不会被缓存。但我不知道如何解决这个问题。 如果初始数据发生变化,则返回未定义

在页面组件中:

  const { data, error } = useSWR("/api/company/", {
    initialData: company,
  });

我不确定你们公司的有效载荷,但对于初始值,它在装载时并没有重新验证,所以你们需要将revalidateOnMount设置为true

 const { data, error, mutate } = useSWR("/api/company/", {
    initialData: company,
    revalidateOnMount: true
  });
useSWR还提供了一个locate mutate,因此不需要在同一个组件中提供url

mutate(async(prev) => [...prev, companyItem])

欢迎来到这里,公司的有效载荷是什么?@SomeoneSpecial它是next.js getServerSideProps
中的axios response.data。get(
/api/company/
你知道如何从props中获得公司吗?const Component=({company})=>{您的组件代码}谢谢,这很好!但突变是在另一个组成部分。
 const { data, error, mutate } = useSWR("/api/company/", {
    initialData: company,
    revalidateOnMount: true
  });
mutate(async(prev) => [...prev, companyItem])