getJSONからReactJS状態にデータをバインドする方法

ネクロフェイス

JSONファイルからデータを取得してReactJSでページにバインドしようとしています

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>Demo Fetch</title>
    <link rel="stylesheet" href="style.css" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/react.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/JSXTransformer.js"></script>
    <script src="js/jquery-2.1.4.min.js"></script>
</head>
<body>
    <div id="content"></div>
    <script type="text/jsx">
        var DataBlock = React.createClass({
            getInitialState:function(){
                return {};
            },
            loadData:function() {
                var a=this;
                $.getJSON(this.props.url, function (obj) {
                    a.setState({data: obj})
                });
            },
            render: function() {
                return (
                        <div className="dataBlock" data={this.state.data}>
                            <h1>Sample data block</h1>
                                {this.loadData()}
                                <h3>{data.runtime}</h3>
                        </div>
                );
            }
        });
        React.render(
                <DataBlock url="small_data.json"/>,
                document.getElementById('content')
        );
    </script>
</body>
</html>

しかし、ページを表示しようとすると何も表示されません。私のコードの何が問題になっていますか?バグはどこにありますか?からgetJSONReactコンポーネントの状態にデータをバインドできないのはなぜですか?

これは私のsmall_data.jsonファイルです:

{
  "movies": [
    {
      "abridged_cast": [
        {
          "characters": [
            "Dominic Toretto"
          ],
          "id": "162652472",
          "name": "Vin Diesel"
        },
        {
          "characters": [
            "Brian O'Conner"
          ],
          "id": "162654234",
          "name": "Paul Walker"
        }
      ],
      "runtime": 140,
      "synopsis": "Continuing the global exploits in the unstoppable franchise built on speed, Vin Diesel, Paul Walker and Dwayne Johnson lead the returning cast of Fast & Furious 7. James Wan directs this chapter of the hugely successful series that also welcomes back favorites Michelle Rodriguez, Jordana Brewster, Tyrese Gibson, Chris \"Ludacris\" Bridges, Elsa Pataky and Lucas Black. They are joined by international action stars new to the franchise including Jason Statham, Djimon Hounsou, Tony Jaa, Ronda Rousey and Kurt Russell.",
      "title": "Furious 7",
      "year": 2015
    }
  ],
  "runtime": 140
}
user3224271

componentDidMount: function() {データをロードするために使用する必要があります

import React from 'react';
import ReactDOM from 'react-dom';

const data = {
  "movies": [
    {
      "abridged_cast": [
        {
          "characters": [
            "Dominic Toretto"
          ],
          "id": "162652472",
          "name": "Vin Diesel"
        },
        {
          "characters": [
            "Brian O'Conner"
          ],
          "id": "162654234",
          "name": "Paul Walker"
        }
      ],
      "runtime": 140,
      "synopsis": "Continuing the global exploits in the unstoppable franchise built on speed, Vin Diesel, Paul Walker and Dwayne Johnson lead the returning cast of Fast & Furious 7. James Wan directs this chapter of the hugely successful series that also welcomes back favorites Michelle Rodriguez, Jordana Brewster, Tyrese Gibson, Chris \"Ludacris\" Bridges, Elsa Pataky and Lucas Black. They are joined by international action stars new to the franchise including Jason Statham, Djimon Hounsou, Tony Jaa, Ronda Rousey and Kurt Russell.",
      "title": "Furious 7",
      "year": 2015
    }
  ],
  "runtime": 140
}

const DataBlock = React.createClass({
    getInitialState: () => {
      return {
        data: null
      };
    },

    componentDidMount: () => {
                this.setState({
                    data: this.props.url
                });   
   },             
    render() {
        return <div>
        <h3>runtime: {data.runtime}</h3>
        <h4>the data:</h4> 
        {this.state.data}
        </div>;
    }
});


ReactDOM.render(<DataBlock url={data}/>, document.getElementById('.container'));

https://jsfiddle.net/63nL7yfj/

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

モバイルエミュレータのコマンドラインからデバイス検出状態をオンに設定する方法

分類Dev

Vuexを使用してデータベースから状態を最初にロードするタイミング

分類Dev

関数から状態にデータをロードする

分類Dev

配列状態からデータを変更するreactjs

分類Dev

バックエンドからデータをロードするためのアクション/状態

分類Dev

reactjs状態を使用して配列内のアイテムからデータにアクセスする方法は?

分類Dev

反応コンポーネントをデータベースの状態にバインドするにはどうすればよいですか?

分類Dev

選択ドロップダウンから渡された値に基づいてfind()メソッドからのデータで状態を更新する方法

分類Dev

Papa Parseを使用してCSVファイルからReact状態にデータを抽出する方法は?

分類Dev

StreamGeometryからパスデータをバインドする方法

分類Dev

AndroidでArrayListからTableLayoutにデータをバインドする方法は?

分類Dev

Android-レイアウトからすべてのボタンをクリアし、状態クラスに従ってそれらを再挿入する方法はありますか?(状態デザインパターン)

分類Dev

データバインドされたドロップダウンリストから選択したアイテムをセッション状態に配置するにはどうすればよいですか?

分類Dev

ReactJsはaxiosAPIデータから状態を更新します

分類Dev

ハンドラーでデータを休止状態にする

分類Dev

ボタンに透明なホバー状態を追加する方法

分類Dev

reactjs形式でデータをバインドする方法

分類Dev

vuex状態から操作のためにローカルデータにデータを取得する方法

分類Dev

サーバーサイドレンダリングでデータをノードからreactjsコンポーネントに渡す方法

分類Dev

LS(脱水)からの状態がコンバインリデューサーの形状と一致して、プリロード状態で適用されることをどのように把握しますか?

分類Dev

デフォルトのdockercontainerコマンドをオーバーライドする方法、または以前のコンテナー状態に戻す方法は?

分類Dev

デフォルトのdockercontainerコマンドをオーバーライドする方法、または以前のコンテナー状態に戻す方法は?

分類Dev

他の状態のAngularUIルーターからデータを取得する方法

分類Dev

関数をReactJS状態にするのは良いパターンですか?

分類Dev

XMLファイルからグリッドビューにデータをバインドする方法

分類Dev

Reactjsで状態が変更されているときに、onDragEndのスライダーからデータを取得します

分類Dev

コンポーネントはリロード時に状態からデータを失います

分類Dev

コンポーネントデータを小道具からの値にバインドする方法

分類Dev

親からのOneToManyの誤ったバインディングを休止状態にする

Related 関連記事

  1. 1

    モバイルエミュレータのコマンドラインからデバイス検出状態をオンに設定する方法

  2. 2

    Vuexを使用してデータベースから状態を最初にロードするタイミング

  3. 3

    関数から状態にデータをロードする

  4. 4

    配列状態からデータを変更するreactjs

  5. 5

    バックエンドからデータをロードするためのアクション/状態

  6. 6

    reactjs状態を使用して配列内のアイテムからデータにアクセスする方法は?

  7. 7

    反応コンポーネントをデータベースの状態にバインドするにはどうすればよいですか?

  8. 8

    選択ドロップダウンから渡された値に基づいてfind()メソッドからのデータで状態を更新する方法

  9. 9

    Papa Parseを使用してCSVファイルからReact状態にデータを抽出する方法は?

  10. 10

    StreamGeometryからパスデータをバインドする方法

  11. 11

    AndroidでArrayListからTableLayoutにデータをバインドする方法は?

  12. 12

    Android-レイアウトからすべてのボタンをクリアし、状態クラスに従ってそれらを再挿入する方法はありますか?(状態デザインパターン)

  13. 13

    データバインドされたドロップダウンリストから選択したアイテムをセッション状態に配置するにはどうすればよいですか?

  14. 14

    ReactJsはaxiosAPIデータから状態を更新します

  15. 15

    ハンドラーでデータを休止状態にする

  16. 16

    ボタンに透明なホバー状態を追加する方法

  17. 17

    reactjs形式でデータをバインドする方法

  18. 18

    vuex状態から操作のためにローカルデータにデータを取得する方法

  19. 19

    サーバーサイドレンダリングでデータをノードからreactjsコンポーネントに渡す方法

  20. 20

    LS(脱水)からの状態がコンバインリデューサーの形状と一致して、プリロード状態で適用されることをどのように把握しますか?

  21. 21

    デフォルトのdockercontainerコマンドをオーバーライドする方法、または以前のコンテナー状態に戻す方法は?

  22. 22

    デフォルトのdockercontainerコマンドをオーバーライドする方法、または以前のコンテナー状態に戻す方法は?

  23. 23

    他の状態のAngularUIルーターからデータを取得する方法

  24. 24

    関数をReactJS状態にするのは良いパターンですか?

  25. 25

    XMLファイルからグリッドビューにデータをバインドする方法

  26. 26

    Reactjsで状態が変更されているときに、onDragEndのスライダーからデータを取得します

  27. 27

    コンポーネントはリロード時に状態からデータを失います

  28. 28

    コンポーネントデータを小道具からの値にバインドする方法

  29. 29

    親からのOneToManyの誤ったバインディングを休止状態にする

ホットタグ

アーカイブ