フェッチを使用してreactアプリでjsonデータをレンダリングする

私はreactアプリのAPIから人の場所に関するJSONをレンダリングしようとしています。

私は同形フェッチを使用してAPIからデータにアクセスしています。基本テストを追加すると、以下を使用してデータが正しくログに記録されます。

 require('isomorphic-fetch');
 require('es6-promise').polyfill();

 var url = 'http://localhost:3000/api/data'

 fetch(url)
    .then(function(response) {
    if (response.status >= 400) {
       throw new Error("Bad response from server");
    }
    return response.json();
  })
  .then(function(data) {
     console.log(data);
  });

私が解決しようとしているのは、この応答を取得して、現在このようになっているコンポーネントでレンダリングする方法です(この例では、以下のコードはローカルのjsonファイルから取得されているため、それらをマージする必要があります)。

componentDidMountをセットアップしようとしましたが、構文に頭を悩ませることができたので、壊れ続けました。reduxアクションもチェックしましたが、脳が爆発しました。

const personLoc = Object.keys(data.person.loc).map((content, idx) => {
    const items = data.person.loc[content].map((item, i) => (
        <p key={i}>{item.text}</p>
    ))

    return <div key={idx}>{items}</div>
})

export default function PersonLocation() {
    return (
        <div className="bio__location">
            {personLoc}
        </div>
    )
}
vijayst

componentDidMountはsetStateである必要があります:

componentDidMount() {    
  var that = this;
  var url = 'http://localhost:3000/api/data'

  fetch(url)
  .then(function(response) {
    if (response.status >= 400) {
      throw new Error("Bad response from server");
    }
    return response.json();
  })
  .then(function(data) {
    that.setState({ person: data.person });
  });
}

レンダーコンポーネントは状態をマップする必要があります。

const personLoc = Object.keys(this.state.person.loc).map((content, idx) => {
    const items = this.state.person.loc[content].map((item, i) => (
        <p key={i}>{item.text}</p>
    ))

    return <div key={idx}>{items}</div>
})

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

データをReactコンポーネントにフェッチしてレンダリングします

分類Dev

レンダリングする前にuseEffectフック内のデータをフェッチします-React

分類Dev

マップを使用してAPIからのキーでJSONデータをレンダリングする

分類Dev

ドロップダウンで角度を使用してjsonデータをフィルタリングする

分類Dev

Reactフックを使用した複数のフェッチデータ軸-レンダリングデータ

分類Dev

データをフェッチしてレンダリングするためにReactでAPI呼び出しを行う

分類Dev

Reactを使用してJSONデータをレンダリングする

分類Dev

レンダリングする前に、AsyncComponentDidMountでデータをフェッチします

分類Dev

Reactでデータをマッピングしてレンダリングしようとすると、アプリがクラッシュしました

分類Dev

getDerivedStateFromPropsを使用してAPIデータをフェッチすると、コンポーネントが何度もレンダリングされます

分類Dev

elasticsearchからフェッチされたデータ構造を変更して、react Nativeフラットリストにアイテムをレンダリングするにはどうすればよいですか?

分類Dev

フェニックスは、結合およびプリロードされたデータを使用してjsonをレンダリングします

分類Dev

reactでaxios.getを使用してネストされたjsonデータをレンダリングする

分類Dev

チェックボックスグループ入力を使用してデータフレームをフィルタリングする

分類Dev

Bokehドロップダウンウィジェット/ CustomJSを使用してデータフレームをフィルタリングする

分類Dev

レンダリングをループに導くデータをフェッチするときのsetState

分類Dev

React Native AsyncStorageは、レンダリング後にデータをフェッチします

分類Dev

Reactでは、全体をマッピングせずに、データをフェッチして、states配列内の単一のオブジェクトをレンダリングするにはどうすればよいですか?

分類Dev

React Redux サーバーはレンダリングしますが、クライアント側はデータをフェッチします

分類Dev

asfreqを使用してパンダのデータフレームをリサンプリングする

分類Dev

Reactでマップを使用してリストアイテムをレンダリングする

分類Dev

Javascriptデータに応じてページをレンダリングする正しいアプローチ

分類Dev

Reactフックでデータをレンダリングする

分類Dev

Reactコンポーネントは、Fluxストアからデータをレンダリングしますが、Mongoデータベースからフェッチした場合はレンダリングしません

分類Dev

ネストされたJSONデータを使用してreactテーブルをレンダリングする

分類Dev

ajaxリクエストによってフェッチされたデータを正しいスパンでレンダリングします

分類Dev

レンダリングする前に、ajaxでフェッチしたデータをコンポーネントに設定します

分類Dev

サーバー側をレンダリングする前にデータをフェッチする

分類Dev

iPadminiを使用してAngularアプリケーションでデータをフェッチできません

Related 関連記事

  1. 1

    データをReactコンポーネントにフェッチしてレンダリングします

  2. 2

    レンダリングする前にuseEffectフック内のデータをフェッチします-React

  3. 3

    マップを使用してAPIからのキーでJSONデータをレンダリングする

  4. 4

    ドロップダウンで角度を使用してjsonデータをフィルタリングする

  5. 5

    Reactフックを使用した複数のフェッチデータ軸-レンダリングデータ

  6. 6

    データをフェッチしてレンダリングするためにReactでAPI呼び出しを行う

  7. 7

    Reactを使用してJSONデータをレンダリングする

  8. 8

    レンダリングする前に、AsyncComponentDidMountでデータをフェッチします

  9. 9

    Reactでデータをマッピングしてレンダリングしようとすると、アプリがクラッシュしました

  10. 10

    getDerivedStateFromPropsを使用してAPIデータをフェッチすると、コンポーネントが何度もレンダリングされます

  11. 11

    elasticsearchからフェッチされたデータ構造を変更して、react Nativeフラットリストにアイテムをレンダリングするにはどうすればよいですか?

  12. 12

    フェニックスは、結合およびプリロードされたデータを使用してjsonをレンダリングします

  13. 13

    reactでaxios.getを使用してネストされたjsonデータをレンダリングする

  14. 14

    チェックボックスグループ入力を使用してデータフレームをフィルタリングする

  15. 15

    Bokehドロップダウンウィジェット/ CustomJSを使用してデータフレームをフィルタリングする

  16. 16

    レンダリングをループに導くデータをフェッチするときのsetState

  17. 17

    React Native AsyncStorageは、レンダリング後にデータをフェッチします

  18. 18

    Reactでは、全体をマッピングせずに、データをフェッチして、states配列内の単一のオブジェクトをレンダリングするにはどうすればよいですか?

  19. 19

    React Redux サーバーはレンダリングしますが、クライアント側はデータをフェッチします

  20. 20

    asfreqを使用してパンダのデータフレームをリサンプリングする

  21. 21

    Reactでマップを使用してリストアイテムをレンダリングする

  22. 22

    Javascriptデータに応じてページをレンダリングする正しいアプローチ

  23. 23

    Reactフックでデータをレンダリングする

  24. 24

    Reactコンポーネントは、Fluxストアからデータをレンダリングしますが、Mongoデータベースからフェッチした場合はレンダリングしません

  25. 25

    ネストされたJSONデータを使用してreactテーブルをレンダリングする

  26. 26

    ajaxリクエストによってフェッチされたデータを正しいスパンでレンダリングします

  27. 27

    レンダリングする前に、ajaxでフェッチしたデータをコンポーネントに設定します

  28. 28

    サーバー側をレンダリングする前にデータをフェッチする

  29. 29

    iPadminiを使用してAngularアプリケーションでデータをフェッチできません

ホットタグ

アーカイブ