【问题标题】:How to get objects of objects in react native?如何在本机反应中获取对象的对象?
【发布时间】:2019-02-01 23:23:40
【问题描述】:

我的 JSON 数据是

[
  {
    id: 51,
    name: 'Boat Neck Blouse',
    image: {
      id: 669,
      date_created: '2018-08-27T10:05:39',
      date_created_gmt: '2018-08-27T10:05:39',
      date_modified: '2018-08-27T10:05:39',
      date_modified_gmt: '2018-08-27T10:05:39',
      src:
        'https://dreamdesigners.rkhomeappliances.co.in/wp-content/uploads/2018/08/boatneck.jpg',
      title: 'boatneck',
      alt: '',
    },
    menu_order: 0,
  },
];

我可以得到名字、id 和所有但不能得到src of image object。 我尝试的是

state = { data: [] };

fetchData = async () => {
  const response = await fetch('mywebsite.com/json');
  const posts = await response.json();
  this.setState({ data: posts });
};

componentDidMount() {
    this.fetchData();
}

render() {
  return (
    <Container>
      <ScrollView style={{ backgroundColor: '#eeeeee' }}>
        <View>
          <FlatList
            contentContainerStyle={styles.list}
            numColumns={2}
            data={this.state.data}
            keyExtractor={(x, i) => i.toString()}
            renderItem={({ item }) => (
              <TouchableHighlight
                style={{ width: '50%' }}
                underlayColor="white">
                <View style={styles.view}>
                  <Text>{item.image.src}</Text>

                  <Text style={styles.text}>{item.name}</Text>
                </View>
              </TouchableHighlight>
            )}
          />
        </View>
      </ScrollView>
    </Container>
  );
}

我刚刚尝试显示图像的 src,但出现以下错误。

TypeError: undefined is not an object (evaluating '_this3.item.image')

如何从图像对象中获取 src?我是 react native 和 react js 的新手。请帮我获取图片src。

【问题讨论】:

    标签: javascript reactjs react-native


    【解决方案1】:
    [
      {
        id: 51,
        name: 'Boat Neck Blouse',
        image: {
          id: 669,
          date_created: '2018-08-27T10:05:39',
          date_created_gmt: '2018-08-27T10:05:39',
          date_modified: '2018-08-27T10:05:39',
          date_modified_gmt: '2018-08-27T10:05:39',
          src:
            'https://dreamdesigners.rkhomeappliances.co.in/wp-content/uploads/2018/08/boatneck.jpg',
          title: 'boatneck',
          alt: '',
        },
        menu_order: 0,
      },
    ];
    

    如果您想访问date_created,这是这种方式(作为示例)

    试试这个

    (假设数据分配给变量data) 如您所见,JSON 以数组开头,因此您必须访问数组中的内容。在这种情况下,数组只有 1 个内容。所以,如果你访问data[0],你会得到

    {
      id: 51,
      name: 'Boat Neck Blouse',
      image: {
        id: 669,
        date_created: '2018-08-27T10:05:39',
        date_created_gmt: '2018-08-27T10:05:39',
        date_modified: '2018-08-27T10:05:39',
        date_modified_gmt: '2018-08-27T10:05:39',
        src:
          'https://dreamdesigners.rkhomeappliances.co.in/wp-content/uploads/2018/08/boatneck.jpg',
        title: 'boatneck',
        alt: '',
      },
      menu_order: 0,
    };
    

    那么如果你想在image键中访问date_created,它将是data[0].image.date_created

    希望这可以帮助您理解访问 JSON 数据

    【讨论】:

      【解决方案2】:

      您必须将 this.item.image 替换为 item.image.src

      【讨论】:

      • 对不起,我犯了一个错误,它只是 item.image.src,但我得到了错误
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 1970-01-01
      相关资源
      最近更新 更多