使用React-Native从JSON提取数据

时间:2018-09-26 17:15:02

标签: json wordpress reactjs react-native

这张图片怎么了? :-)

我正在尝试从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正在检索数据。我的问题是我一定打错了电话,但是怎么办?

1 个答案:

答案 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