React JS从多个API函数获取数据

大卫

我的任务是为POC创建前端。我不是前端开发人员,但我选择使用React JS。从多个API端点获取数据的页面只有一页。API端点返回一个简单的json对象。我设法使它正常工作,但是我的代码很丑陋,我想创建一个函数来处理所有这些问题,但是我似乎无法正确地做到这一点。这是我的代码

export default class Dashboard extends React.Component {

constructor(props) {
    super(props);
    this.state = {
      group1: [],
      group2: [],
      group3: [],
      isLoaded: false,
    }
  }

componentDidMount() {
    const group1_url = "http://localhost/api/1"
    const group2_url = "http://localhost/api/2"
    const group3_url = "http://localhost/api/3"

    fetch(group1_url)
      .then(res => res.json())
      .then(json => {
        this.setState({
          group1: json,
        })
      });
    fetch(group2_url)
      .then(res => res.json())
      .then(json => {
        this.setState({
          group2: json,
        })
      });
    fetch(group3_url)
      .then(res => res.json())
      .then(json => {
        this.setState({
          group3: json,
        })
      });
  }

我正在尝试创建一个像这样的函数:

 function fetch_data(url, state) {
    fetch(url)
      .then(res => res.json())
      .then(json => {
        this.setState({
          state: json,
        })
      });
  }

var group1 = fetch_data(group1_url, group1);

到目前为止没有喜悦。如何创建函数来获取数据并在js中设置状态?另外,如何使我的代码看起来更好呢?还是还有其他我应该使用/研究的东西?

一定的表现

传递字符串作为第二个参数,并使用计算属性:

function fetch_data(url, state) {
    fetch(url)
      .then(res => res.json())
      .then(json => {
        this.setState({
          [state]: json,
        })
      });
  }

fetch_data(group1_url, 'group1');

我也强烈建议捕获错误-尽可能避免出现未处理的拒绝。

您可能需要使用Promise.all等待所有组加载:

const dataSources = {
    group1: 'http://localhost/api/1',
    group2: 'http://localhost/api/2',
    group3: 'http://localhost/api/3',
};
Promise.all(
    Object.entries(dataSources).map(([propertyName, url]) => (
        fetch(url)
            .then(res => res.json())
            .then((result) => {
                this.setState({
                    [propertyName]: result
                })
            })
    ))
)
    .then(() => {
        this.setState({ isLoaded: true })
    })
    .catch((error) => {
        // handle errors
    })

(还要注意,您的json参数不是JSON -JSON只是存在于字符串中的一种格式。已反序列化的内容只是一个普通的对象或数组。最好像result我一样称呼它来减少误导

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

REACT JS如何显示从onClick获取的API数据?

来自分类Dev

想要从React Js中的API获取数组中的数据

来自分类Dev

React.js如何显示我从API获取的数组数据?

来自分类Dev

React.js如何显示我从API获取的数组数据?

来自分类Dev

React.js如何显示我从API获取的数组数据?

来自分类Dev

在 React JS 中使用 Fetch 获取 API 数据

来自分类Dev

在React中从api获取数据

来自分类Dev

在 React 中获取 API 数据

来自分类Dev

React JS 动态数据获取

来自分类Dev

如何从多个状态中过滤数据以React Native的方式从单独的API获取数据

来自分类Dev

React Native如何同时获取多个API?

来自分类Dev

如何从前端 react.js 中的 node.js 中的多个数据库中获取数据

来自分类Dev

React状态上的map函数-具有获取的API数据的状态

来自分类Dev

从react.js从Express.js API获取数据。邮递员的要求有效

来自分类Dev

使用React挂钩从API重新获取数据

来自分类Dev

React中的Chart JS不获取数据

来自分类Dev

如何使用 React.js 获取 API

来自分类Dev

仅当或当用户使用React Js Context API登录时才如何获取数据?

来自分类Dev

如何正确地从多个 API 调用中获取数据并将其显示到 React 中的 DOM

来自分类Dev

使用 React Hooks 获取多个数据 axios

来自分类Dev

在React中获取数据

来自分类Dev

React-native函数不返回获取数据

来自分类Dev

React Js,如何在onClick中保存多个数据?

来自分类Dev

在 React.js 的列表中保存传入的多个数据

来自分类Dev

React - 从 API 返回数据

来自分类Dev

React / Axios:使用Coinmarketcap的密钥获取API数据

来自分类Dev

如何通过使用axois从React中的api获取数据?

来自分类Dev

如何获取数据并存储在React Context API中?

来自分类Dev

react-native 从 REST Api 获取数据失败

Related 相关文章

  1. 1

    REACT JS如何显示从onClick获取的API数据?

  2. 2

    想要从React Js中的API获取数组中的数据

  3. 3

    React.js如何显示我从API获取的数组数据?

  4. 4

    React.js如何显示我从API获取的数组数据?

  5. 5

    React.js如何显示我从API获取的数组数据?

  6. 6

    在 React JS 中使用 Fetch 获取 API 数据

  7. 7

    在React中从api获取数据

  8. 8

    在 React 中获取 API 数据

  9. 9

    React JS 动态数据获取

  10. 10

    如何从多个状态中过滤数据以React Native的方式从单独的API获取数据

  11. 11

    React Native如何同时获取多个API?

  12. 12

    如何从前端 react.js 中的 node.js 中的多个数据库中获取数据

  13. 13

    React状态上的map函数-具有获取的API数据的状态

  14. 14

    从react.js从Express.js API获取数据。邮递员的要求有效

  15. 15

    使用React挂钩从API重新获取数据

  16. 16

    React中的Chart JS不获取数据

  17. 17

    如何使用 React.js 获取 API

  18. 18

    仅当或当用户使用React Js Context API登录时才如何获取数据?

  19. 19

    如何正确地从多个 API 调用中获取数据并将其显示到 React 中的 DOM

  20. 20

    使用 React Hooks 获取多个数据 axios

  21. 21

    在React中获取数据

  22. 22

    React-native函数不返回获取数据

  23. 23

    React Js,如何在onClick中保存多个数据?

  24. 24

    在 React.js 的列表中保存传入的多个数据

  25. 25

    React - 从 API 返回数据

  26. 26

    React / Axios:使用Coinmarketcap的密钥获取API数据

  27. 27

    如何通过使用axois从React中的api获取数据?

  28. 28

    如何获取数据并存储在React Context API中?

  29. 29

    react-native 从 REST Api 获取数据失败

热门标签

归档