对象中的数组内容在TouchableOpacity的onPress函数内部消失

时间:2019-12-16 03:32:48

标签: reactjs react-native react-native-flatlist

我有一个Flatlist可以渲染一堆可点击的卡片。我想在用户单击卡时将available_days数组传递给RestaurantScreen,但是由于某些原因,由于某些原因,available_days数组的内容似乎消失了。它只是renderItem()函数内部的一个空数组,但是该数组填充在renderItem()函数的外部。

奇怪的是,某些卡正确接收了available_days数组。

我似乎无法弄清楚这里出了什么问题。

<FlatList
   data={this.state.restaurants}
   renderItem={({ item }) => {
      return this.renderCard(item)
   }}
   keyExtractor={restaurant => restaurant.id}
/>
//this.state.restaurants
Object {
  "id": 21,
  "name": "Cheese",
  "menu": Array [
    Object {
      "available_days": Array [0,1,2,3],
      "id": 21,
    },
  ],
}
    renderCard(item) {
        return item.menus.map((menu) => {
            return (
                <TouchableOpacity 
                    style={{border: 'none'}}
                    activeOpacity={0.7}
                    onPress={() => {
                        this.goToRestaurantScreen(item)
                    }}>
                    <DealCard restaurant={item} menu={menu}></DealCard>
                </TouchableOpacity>
            )
        })
    }

0 个答案:

没有答案