2017-08-10 10 views
0

responseJson.result(JSONオブジェクト)をデータ(JSオブジェクト)に変換する必要があります。
私はコンソールログを使用するか、警告を返します。jsonオブジェクトをJSオブジェクトに変換できません

私は何が問題なのか分かりません - コンソールのログやアラートの方法や文字列化に関することは何ですか?

constructor() { 
    super(); 
    this.state = { 
    data: null, 
    }; 
} 

componentWillMount() { 
    return fetch("www.abc.xyz/api") 
    .then((response) => response.json()) 
    .then((responseJson) => { 
     let ds = new ListView.DataSource({ 
     rowHasChanged: (r1, r2) => r1 !== r2 
     }); 

     this.setState({ 
     data: JSON.stringify(responseJson.result), 
     }, function() { 
     }); 

     var resultJ = this.state.data.result; 
     alert(resultJ); 
    }) 
    .catch((error) => { 
     alert("0 : Recrods On This Module ") 
    }); 
} 
+0

'setState'sayの前に' console.log(responseJson) 'とは何ですか? – Nocebo

+0

datasource from responseJsonそれはlistviewの仕事です。 しかし、これを試した後に、responseJsonをdataに変換し、リストビュー –

答えて

0

setStateコールは、状態値が利用可能でないことを意味する非同期です。 setStateセットにコールバックパラメータが既にあります。あなたはそれを使用する必要があります。

this.setState({ 
    data: JSON.stringify(responseJson.result), 
}, function() { 
    var resultJ = this.state.data.result; 
    alert(resultJ); 
}); 
+0

のデータを設定したいとします。それは未定義の戻り値です:(なぜ、うまくいかないのですか? –

関連する問題