【问题标题】:Put the `response.data` value into the `setState[]` array将 `response.data` 值放入 `setState[]` 数组
【发布时间】:2021-12-15 07:26:24
【问题描述】:

我想将swr 数据放入 setState[] 我有这样的代码。

const { data } = useSWR('/api/data', fetcher);
const [contents, setcontents] = useState<Array<string>>([]);

如何编写代码将data 放入setcontents[] 中?

【问题讨论】:

  • 如果您只需要更新contents 状态,setcontents(data) 应该可以工作。如果data 是一个字符串数组。
  • @LucaPizzini 是的,数据是一个字符串。但我不知道怎么把它放在State[] 中。
  • 正如我所说,使用setcontents(data) 函数。它应该可以工作。

标签: reactjs react-hooks use-state swr


【解决方案1】:

您不需要这样做。 data 已经是组件状态的一部分,SWR 正在为您管理它。您不需要将数据转移到另一个状态变量中。

在您希望使用contents 的任何地方使用data,它会按您的预期工作。如果您愿意,可以为变量选择不同的名称:

const { data: contents } = useSWR(...)

【讨论】:

    【解决方案2】:

    你可以使用 useEffect hook 来解​​决这个问题。

    useEffect(() => {
        setcontents(data);
      }, [data]);
    

    【讨论】:

      猜你喜欢
      • 2021-12-07
      • 2021-04-20
      • 2017-11-19
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多