Tôi mới đến React
và React native
và đang cố gắng retrieve data from an API
và sau đó hiển thị nhưng dường như tôi đang gặp sự cố.Nhận không xác định không phải là một đối tượng trong React gốc khi hiển thị
Tôi có thể lấy dữ liệu từ API
được, nhưng khi tôi thử và render
, tôi đang gặp phải tất cả các loại lỗi.
Về cơ bản tất cả những gì tôi đang cố gắng làm là hiển thị các ảnh được trả lại từ API. Nên đơn giản phải không? Sẽ đánh giá cao bất cứ ai có thể chỉ cho tôi đi đúng hướng.
tôi nhận được lỗi như:
không xác định không phải là một đối tượng (đánh giá 'this.props.photos') trong RenderPhotos_render
tôi có thể đã nhảy vào React Native
quá sớm .. Xin lỗi vì thiếu kiến thức của tôi!
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>
)
}
});
Một sửa đổi nhỏ là bạn có thể xóa trạng thái từ RenderPhotos vì bạn không còn sử dụng nó nữa – rmevans9
Ngoài ra var ảnh = Ảnh là vô nghĩa trong hàm kết xuất. Và cuối cùng this.props.photos bắt đầu như undefined (có thể, trạng thái được thiết lập bởi một thuộc tính không được hiển thị) mà sẽ kết thúc trong một lỗi không xác định kể từ khi bạn đi thẳng đến cố gắng để hiển thị chỉ số 0 của mảng. – rmevans9