1

我正在使用 react-native-snap-carousel 并且无法访问数组中的 URL。我可以在没有其他对象的情况下访问它们,但我需要它们来命名每个图像。

      constructor(props)
  {

    super(props);

    this.state = {
    categoriesimages: [
 {
   name: 'business 1',
   images:
     'http://www.example.com/img/venture.jpg',
 },
 {
   name: 'business 2',
   images:
     'http://www.example.com/img/venture.jpg',
 },
 {
   name: 'business 3',
   images:
     'http://www.example.com/img/venture.jpg',
 }
]

  }
 renderItem = ({ item }) => {
       return (
           <Image source={{ uri: item }} style={styles.logoStyle} />

       );
   }
<View>
                 <Carousel
                   inactiveSlideOpacity={0.6}
                   inactiveSlideScale={0.65}
                   firstItem={1}
                   sliderWidth={width}
                   itemWidth={width / 3}
                   data={this.state.categoriesimages['images']} // this is the problem
                   renderItem={this.renderItem}
                   containerCustomStyle={{ overflow: 'visible' }}
                   contentContainerCustomStyle={{ overflow: 'visible' }}
                 />
             </View>

我对本机反应仍然很陌生,查找类似的问题并没有得出正确的答案。

4

2 回答 2

1

在这里this.state.categoriesimages['images']data参数接受array格式。

现在您正在尝试使用categoriesimages索引访问images

因此,您需要将其替换为

data={this.state.categoriesimages}

renderItem={({item}) => console.log(item.images)}

于 2018-04-07T14:57:54.953 回答
0

你可以使用地图this.state.categoriesimage.map(value => value.image)

于 2018-04-07T14:53:48.770 回答