私はReact
とReact native
に新しく、retrieve data from an API
を試していますが、それをレンダリングしていますが、問題が発生しているようです。レンダリング時に未定義はReactネイティブのオブジェクトではありません
API
からデータを取得することはできますが、私が試してみるとrender
のエラーが発生します。
私がやろうとしていることは、APIから返された写真をレンダリングすることだけです。シンプルなはずですか?私を正しい方向に向けることができる人に感謝します。
私のようなエラーを取得しています:
が未定義のは、私があまりにも早く
React Native
に飛び込んできたことがありRenderPhotos_render
に( 'this.props.photos' を評価)オブジェクトではありません。..私の知識が不足していることを許してください!
var AwesomeProject = React.createClass({
getInitialState: function() {
return {
isLoading: true,
photos: this.props.photos
};
},
componentWillMount: function(){
fetch("http://localhost:3000/api/photos/", {
method: "GET",
headers: {
"x-access-token":"xxxxx",
"x-key":"xxxx"
},
})
.then((response) => response.json())
.then((responseData) => {
AlertIOS.alert(
"GET Response",
"Search Query -> " + JSON.stringify(responseData)
)
this.setState({
isLoading: false
});
this.setState({
photos: JSON.stringify(responseData)
});
})
.done();
},
render: function() {
if(this.state.isLoading){
return <View><Text>Loading...</Text></View>
}
return (
<RenderPhotos photos={this.props.photos}/>
);
},
});
var RenderPhotos = React.createClass({
getInitialState: function() {
return {
photos: this.props.photos
};
},
render: function(){
var photos = Photos;
return (
<View>
<Text> {this.props.photos[0]} </Text>
</View>
)
}
});
小さな変更は、あなたは、もはやそれを – rmevans9
を使用しているので、あなたはまたRenderPhotosからVAR写真=写真状態をドロップすることができなかったのは、レンダリング機能では無意味です。そして最後にthis.props.photosは未定義(おそらく、状態は表示されていないプロパティによって設定されます)から始まります。配列のインデックス0を表示しようとすると、未定義のエラーで終了します。 – rmevans9