这张图片怎么了? :-)
我正在尝试从wordpress JSON对象中提取值。
我一定不能用React-Native解决它们的正确/正确方法。
有人可以指导我如何形成正确的控制台日志语句吗?
就目前而言,控制台日志中的变量“ theMediaLink”即将“未定义”。 :-(
state={
data:[]
}
fetchData = async() => {
const response = await
//response
fetch('http://example.com/wp-json/wp/v2/posts/')
//posts
const posts = await response.json();
this.setState({data:posts});
const theMediaLink = `https://example.com/wp-json/wp/v2/media/` + `${this.state.data.featuredmedia}`;
console.log('theMediaLink_value: ', theMediaLink);
}
我应该补充一点,因为稍后将它与FLATLIST一起使用来提取帖子,因此fetch正在检索数据。我的问题是我一定打错了电话,但是怎么办?
答案 0 :(得分:1)
这更多是理解React而不是React Native的问题。
尝试一下:
fetchData = async () => {
const URL = 'http://example.com/wp-json/wp/v2/posts/'
const response = await fetch(URL)
const posts = await response.json();
return this.setState({ data : posts }, () => {
const { data } = this.state
const theMediaLink = `https://example.com/wp-json/wp/v2/media/${ data.featuredmedia }`;
console.log('theMediaLink_value: ', theMediaLink);
});
}
由于setState
是异步的,因此您将无法立即看到状态更新,这就是callback
用于的原因。
更多信息on how to setState asynchronously and use its value after right here