Partage
  • Partager sur Facebook
  • Partager sur Twitter

react-native

undefined is not an object (evaluating 'item.id.tostring')

22 janvier 2020 à 14:13:25

bonjour la communauté, 

voici mon problème

je crée une appli mobile en react-native, pour afficher les favoris cette erreur :  undefined is not an object (evaluating 'item.idDrinks.tostring').

Merci

voici mon code : 

import React from 'react'
import { StyleSheet, FlatList } from 'react-native'
import CocktailItem from './CocktailItem'
import { connect } from 'react-redux'

class CocktailList extends React.Component {

constructor(props) {
super(props)
this.state = {
      Cocktails: []
    }
  }

_displayDetailForCocktail = (id) => {
this.props.navigation.navigate('CocktailDetails', {id: id})
  }


render() {
return (
        <FlatList
style={styles.list}
data={this.props.Cocktails}
extraData={this.props.favoritesCocktail}
// la ligne où se trouve l'erreur

keyExtractor={(item) => item.idDrinks.toString()} // // la ligne où se trouve l'erreur
renderItem={({item}) => (
            <CocktailItem
cocktail={item}
isCocktailFavorite={(this.props.favoritesCocktail.findIndex(cocktail => cocktail.idDrink === item.idDrink) !== -1) ? true : false}//Bonus pour différencier les films déjà présent dans notre state global et qui n'ont donc pas besoin d'être récupérés depuis l'API
displayDetailForCocktail={this._displayDetailForCocktail}
            />
          )}
        />
    )
  }
}

const styles = StyleSheet.create({
  list: {
    flex: 1
}
})

const mapStateToProps = state => {
return {
    favoritesCocktail: state.favoritesCocktail
  }
}

export default connect(mapStateToProps)(CocktailList)

 

-
Edité par ducozola123 22 janvier 2020 à 14:15:16

  • Partager sur Facebook
  • Partager sur Twitter
23 janvier 2020 à 13:51:16

Bonjour,

Manquement global aux règles

Votre message enfreint beaucoup de règles basiques du forum à tel point qu'il serait fastidieux de les énumérer dans ce message. Je vous invite donc à lire de toute urgence les règles générales du forum ainsi que la Charte de Bonne Conduite et les éventuelles règles additionnelles de la section du forum dans laquelle vous postez, visibles parmi les sujets épinglés lorsqu'il y en a.

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter