FacebookのReactネイティブアプリケーションでListBoxのページステータスを表示しようとしています。 This tutorial私は多くの助けを借りて、私は自分のアプリケーションで最後のステータスを表示することができました。Reactネイティブエラー:未定義はオブジェクトではありません(Object.keys(dataBlob [sectionID])を評価しています)
しかし、私はこのエラーメッセージを取得するリストビュー内のすべてのステータスを置くしようとしたとき:
は私が読んで「未定義のは( 『Object.keys(dataBlob [セクションID])』を評価)オブジェクトではありません」私は しようとしたため、別のstackoverflowの投稿は、配列の代わりにオブジェクトのcloneWithRows()関数を実行します。しかし、私はまだこのエラーを乗り越えることはできません。
誰かが私を助けることができるなら、それは素晴らしいだろう。ここでは、FacebookのAPIによって生成されたJSONのサンプルがある
{"data":[{"message":"Test","created_time":"2016-05-31T13:36:56+0000","id":"1602039116775292_1605827029729834"},
{"message":"Hello","created_time":"2016-05-31T13:36:50+0000","id":"1602039116775292_1605827006396503"},
そして、これは私のindex.ios.jsファイルの一部です:
dataSource: this.state.dataSource.cloneWithRows(responseData.timeline),
I:この行で
constructor(props){
super(props);
this.state = {
dataSource: new ListView.DataSource({
rowHasChanged: (row1, row2) => row1 !== row2,
}),
loaded: false,
};
}
componentDidMount(){
this.fetchData();
}
fetchData(){
fetch(REQUEST_URL)
.then((response) => response.json())
.then((responseData) => {
this.setState({
dataSource: this.state.dataSource.cloneWithRows(responseData.timeline), //The problem is here
loaded: true,
});
})
.done();
}
render(){
if (!this.state.timelines) {
return this.renderLoadingView();
}
return(
<ListView
dataSource={this.state.dataSource}
renderRow={this.renderStatus}
style={styles.listView}
/>
);
を'timeline'を 'data'に置き換えようとしましたが、データをロードせずにLoadingViewを続けます。
もっとコードや情報が必要な場合は教えてください。
ありがとうございました。
正確には 'responseData.timeline'とは何ですか?それとも 'responseData'そのものですか? –
@TomWalters私は以前私がメンタリングしたチュートリアルに従っていたので、私はresponseData.timelineを使用しましたが、通常はデータがフェイスブックAPIへのフェッチ呼び出しで取得されます。 –