首页 > 解决方案 > 使用 React-Native 从 JSON 中提取数据

问题描述

这张照片有什么问题?:-)

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

标签: jsonwordpressreactjsreact-native

解决方案


这更多是对 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

有关如何异步设置状态并在此处之后使用其值的更多信息


推荐阅读