1
我有點麻煩,我有JSON數據正在提取,然後數據呈現。然而,在渲染中,我需要執行另一個獲取,因爲我試圖渲染的數據依賴於第一個JSON。檢索render()中的返回值?
你可以看到我試圖抓住返回的值,但它是未定義的。
所以取這個樣子的:
getFeaturedImage(thumbnail_json) {
fetch(thumbnail_json)
.then((response) => response.json())
.then((responseData) => {
return responseData.media_details.sizes.medium.source_url;
})
.done();
}
和renderPost()是:
renderPosts() {
contents = this.state.posts.map((post) => {
let postDate = Moment(post.date).format('LLL');
if (post._links['wp:featuredmedia']) {
console.log('has featured image');
let thumbnail_json = post._links['wp:featuredmedia'][0].href;
this.getFeaturedImage(thumbnail_json);
console.log(this.getFeaturedImage(thumbnail_json)); // <----- UNDEFINED?
} else {
console.log('no featured image');
}
return (
<View key={post.id} style={ postStyles.postContainer }>
<Text style={postStyles.postTitle}>
{post.title.rendered}
</Text>
<Text style={postStyles.postDate}>
{postDate}
</Text>
<View style={ postStyles.excerptContainer }>
<HTMLView stylesheet={htmlStyles}
value={post.excerpt.rendered}
/>
</View>
</View>
);
});
return (
<ScrollView>
<View style={baseStyles.container}>
{contents}
</View>
</ScrollView>
);
}
它的出現,我已經找到另一種解決方案,實際使用API IM還有一個JSON其輸出的所有數據,這意味着我可以提出單一請求。 – narutoramen