使用 UseEffect 从 API 获取数据

阿娃胡安

我找到了一个返回一个词定义的 API。

我想显示一个单词和定义,当按下按钮时,它应该重新获取并显示新单词。

我写了这段代码。但我不能让它工作。我不确定我做错了什么。

我不想使用 Axios 或任何库

import React, { useEffect, useState, Button } from "react";

function RandomWord() {
  const [isLoading, setLoading] = useState(true);
  const [data, setData] = useState([]);
  const [refetch, setRefetch] = useState(false);

  useEffect(() => {
    fetch("https://rnd-word.vercel.app/word")
      .then((response) => response.json())
      .then((json) => setData(json))
      .catch((error) => console.error(error))
      .finally(() => setLoading(false));
  }, [refetch]);

  return (
    <>
      <div class="App">
        {isLoading ? (
          <p>Loading...</p>
        ) : (
          <span
            data={data}
            keyExtractor={({ id }, index) => id}
            renderItem={({ item }) =>
            <p>{item.word}</p>
            <p>{item.defintion}</p>
          }
          />
        )}
      </div>
      <Button
        title="New Word"
        onPress={() => setRefetch(!refetch)}
        color="#e56b6f"
      />
    </>
  );
}

export default RandomWord;

越南的

<span>reactjs 中的标签只显示普通文本。不像FlatListreact-native. 所以你应该使用map这样的渲染:

{
    isLoading ? (
        <p>Loading...</p>
    ) : (
        data.map((item, index) => (
            <div key={index}>
                <p>{item.word}</p>
                <p>{item.defintion}</p>
            </div>
        ))
    );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我无法使用 useEffect 从 api 获取数据

如何使用useEffect获取数据?

如何使用useEffect获取数据?

需要说明:使用 useEffect 钩子从 API 获取数据并获取名称

使用 useEffect 向 api 端点发送获取请求未获取数据

React useEffect无限循环从api获取数据

结合使用useEffect和Axios获取API数据将返回null-如何处理呢?

在获取数据时使用useEffect和useContext

React Hook useEffect:使用带有异步await .api的axios来获取数据,并调用连续的相同api

使用react组件和useEffect显示来自API的数据

如何使用 useEffect 将 API 数据设置为数组

从数据库获取数据时使用useEffect无限循环

使用.MAP()与useEffect和API

如何在子组件中使用useEffect()来获取数据?

在 react js 中使用 useeffect 钩子获取数据

我是否正确使用 useEffect 钩子来尝试获取数据?

使用 React useEffect 获取数据和条件渲染

React useEffect 使用 axios 获取数据后返回空数组

无法使用在 useEffect -React 中获取的数据设置状态

在 React 中使用 useEffect() 和 useCallback 获取数据

(Reactjs) 使用 useEffect 和 useState 获取数据时的“延迟”

使用反应 useEffect 获取问题

无法使用获取Api获取数据

在不使用useEffect挂钩的情况下获取API是错误的吗?

从 api 获取时 useEffect 无限循环

如何在useReducer()和useContext()状态管理设置中使用useEffect()从api提取数据?

如何设置useEffect以使用eslint-react-hooks首先从API提取数据?

React:使用 useEffect 获取数据并获取 .map 不是一个函数

ReactJS:如何仅调用一次useEffect挂钩来获取API数据