Partage
  • Partager sur Facebook
  • Partager sur Twitter

[COURS] Développement mobile React Native

    22 mai 2019 à 14:25:41

    Bonjour

    J'ai fini le cours hier. Merci c'était super pour un débutant comme moi.

    Cependant j'ai un soucis. Je croyais que ça venait de mon code mais j'ai téléchargé ta version de github et le soucis est le même.

    Si l'appli est killée, la liste des films favoris remonte bien, par contre l'avatar lui est invisible (si on a choisi un avatar de la gallery android par exemple). La donnée est bien stockée via le reducer et même à l'air d'être réhydratée. Mais le visuel reste blanc.

    Peux-tu me dire si le problème n'est que sur mon smartphone ? Ou tu as ce souci aussi ou quelqu'un da'autres peut être qui en est là ?

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      22 mai 2019 à 14:41:33

      Bonjour , je suis votre cours sur react native ,mais j'ai un problème 

      je suis bloqué sur la partie state , quand j'appuie sur le bouton recherche pour afficher les données de l'API , rien ne se passe 

      pourtant je suis le cours à la lettre , j'ai reessayé plusieurs fois mais ça ne marche pas , et j'ai besoin de votre aide 

      merci

      • Partager sur Facebook
      • Partager sur Twitter
        3 juin 2019 à 22:38:56

        Bonsoir, 

        Super cours,merci. Je ne sais pas si c'est ici que l'on poste ce type de message, je n'ai pas trouvé d'autre discution sur react-native. Voici le problème sur lequel je bute depuis un moment j'ai cherché dans tous les sens ... je récupère un json via un fetch, tant que je suis dans un component(comme dans le cours) tout va bien. Pour éviter plusieurs accès j'aimerai récupérer les données dans un array et pouvoir l'utiliser dans un autre js. Tout ce que je récupère c'est le tableau de la response.

        Merci d'avance pour votre aide

        Georges

        • Partager sur Facebook
        • Partager sur Twitter
          5 juin 2019 à 22:34:41

          Bonjour à tous, bonjour Maxime,

          Alors voilà,

          J'ai commencé le cours et je suis actuellement bloqué au niveau de l'ajout de Redux.

          J'ai comme error un "Invariant violation" lorsque que je clique sur un film, pour obtenir le "filmDetail"

          Ceci est causé par le connect() - je pense -

          J'ai tenté de changer les versions des dépendances, rien n'y fait.. Je ne sais pas du tout comment résoudre ce problème.. Quelqu'un à t'il rencontré celui-ci ?

          Voici mon code:

          filmDetail.js

          import React from 'react';
          import { Text, View, StyleSheet, ActivityIndicator, ScrollView, Image, TouchableOpacity } from 'react-native';
          import { getById, getImage } from '../../api/TMDBapi';
          import moment from 'moment'
          import numeral from 'numeral'
          import { connect } from 'react-redux'
          
          class FilmDetail extends React.Component {
              constructor(props) {
                  super(props);
                  this.state = {
                      film: undefined,
                      isLoading: true,
                  }
              }
          
              componentDidMount() {
                  getById(this.props.navigation.getParam('idFilm')).then(
                      data => {
                          console.log(data);
                          this.setState({
                              film: data,
                              isLoading: false
                          })
                      }
                  )
          
              }
          
              _displayLoading() {
                  if (this.state.isLoading) {
                      // Si isLoading vaut true, on affiche le chargement à l'écran
                      return (
                          <View style={styles.loading_container}>
                              <ActivityIndicator size='large' />
                          </View>
                      )
                  }
              }
          
              _seeImage(path) {
                  this.props.navigation.navigate("Cover", { path: path });
              }
          
              _displayFilm() {
                  if (this.state.film != undefined) {
                      const film = this.state.film;
                      return (
                          <ScrollView style={styles.scrollview_container}>
                              <TouchableOpacity onPress={() => this._seeImage(film.poster_path)}>
                                  <Image style={styles.image} source={{ uri: getImage(film.poster_path) }} />
                              </TouchableOpacity>
                              <Text style={styles.title_text}>{film.title}</Text>
                              <Text style={styles.description_text}>{film.overview}</Text>
                              <Text style={styles.default_text}>Sorti le {moment(new Date(film.release_date)).format('DD/MM/YYYY')}</Text>
                              <Text style={styles.default_text}>Note : {film.vote_average} / 10</Text>
                              <Text style={styles.default_text}>Nombre de votes : {film.vote_count}</Text>
                              <Text style={styles.default_text}>Budget : {numeral(film.budget).format('0,0[.]00 $')}</Text>
                              <Text style={styles.default_text}>Genre(s) : {film.genres.map(function (genre) {
                                  return genre.name;
                              }).join(" / ")}
                              </Text>
                              <Text style={styles.default_text}>Companie(s) : {film.production_companies.map(function (company) {
                                  return company.name;
                              }).join(" / ")}
                              </Text>
                          </ScrollView>
                      )
                  }
              }
          
              render() {
                  return (
                      <View style={styles.main_container}>
                          {this._displayLoading()}
                          {this._displayFilm()}
                      </View>
                  )
              }
          }
          
          const styles = StyleSheet.create({
              main_container: {
                  flex: 1
              },
              loading_container: {
                  position: 'absolute',
                  left: 0,
                  right: 0,
                  top: 0,
                  bottom: 0,
                  alignItems: 'center',
                  justifyContent: 'center'
              },
              scrollview_container: {
                  flex: 1
              },
              image: {
                  height: 169,
                  margin: 5
              },
              title_text: {
                  fontWeight: 'bold',
                  fontSize: 35,
                  flex: 1,
                  flexWrap: 'wrap',
                  marginLeft: 5,
                  marginRight: 5,
                  marginTop: 10,
                  marginBottom: 10,
                  color: '#000000',
                  textAlign: 'center'
              },
              description_text: {
                  fontStyle: 'italic',
                  color: '#666666',
                  margin: 5,
                  marginBottom: 15
              },
              default_text: {
                  marginLeft: 5,
                  marginRight: 5,
                  marginTop: 5,
              }
          })
          
          const mapStateToProps = (state) => {
              return {
                favoritesFilm: state.toggleFavorite.favoritesFilm
              }
            }
            
            export default connect(mapStateToProps)(FilmDetail)
          // export default FilmDetail;
          

          app.js

          import React from 'react';
          import { StyleSheet } from 'react-native';
          import Search from './components/search/Search'
          import Navigation from './navigation/Navigation'
          import { Provider } from 'react-redux';
          import Store from './store/configureStore';
          
          export default class App extends React.Component {
            render() {
              return (
                <Provider store={Store}>
                  <Navigation/>
                </Provider>
              );
            }
          }
          
          const styles = StyleSheet.create({
            container: {
            },
          });

          favoriteReducers.js

          // Store/Reducers/favoriteReducer.js
          
          const initialState = { favoritesFilm: [] }
          
          function toggleFavorite(state = initialState, action) {
            let nextState
            switch (action.type) {
              case 'TOGGLE_FAVORITE':
                const favoriteFilmIndex = state.favoritesFilm.findIndex(item => item.id === action.value.id)
                if (favoriteFilmIndex !== -1) {
                  // Le film est déjà dans les favoris, on le supprime de la liste
                  nextState = {
                    ...state,
                    favoritesFilm: state.favoritesFilm.filter( (item, index) => index !== favoriteFilmIndex)
                  }
                }
                else {
                  // Le film n'est pas dans les films favoris, on l'ajoute à la liste
                  nextState = {
                    ...state,
                    favoritesFilm: [...state.favoritesFilm, action.value]
                  }
                }
                return nextState || state
            default:
              return state
            }
          }
          
          export default toggleFavorite

          configureStore.js

          import { createStore } from 'redux';
          import toggleFavorite from './reducers/favoriteReducers';
          
          export default createStore(toggleFavorite);
          

          Si quelqu'un peut me dépatouiller de ceci, je le remercierai beaucoup :)




          • Partager sur Facebook
          • Partager sur Twitter
            13 juin 2019 à 15:10:52

            Bonjour j'ai un problème avec le redux au chapitre 3 quand je l'integre et que je mets 
            export default connect(mapStateToProps)(FilmDetail)
            besoin d'aide svp
            • Partager sur Facebook
            • Partager sur Twitter
              17 juin 2019 à 17:49:35

              Salut je veux créer une application qui nécessite le stockage et la récupération des données en bases de données avec react native. Du coup j'ai des connaissances en php et son fremwork symfony 4. Je veux savoir s'il est possible de le faire avec un langage back-end sans creer d'api ou si le back-end react native ne fonctionne qu'avec des apis.

              Merci d'avance 😉

              • Partager sur Facebook
              • Partager sur Twitter
                19 juin 2019 à 17:47:12

                stephen_enock a écrit:

                Bonjour j'ai un problème avec le redux au chapitre 3 quand je l'integre et que je mets 

                export default connect(mapStateToProps)(FilmDetail)

                besoin d'aide svp

                stephen_enock a écrit:

                Bonjour j'ai un problème avec le redux au chapitre 3 quand je l'integre et que je mets 

                export default connect(mapStateToProps)(FilmDetail)

                besoin d'aide svp
                Salut ! On peut voir ton fichier FilmDetail.js ?



                • Partager sur Facebook
                • Partager sur Twitter
                  22 juin 2019 à 7:30:23

                  Salut les gars j'ai posté mon problème sur cette page, je me dis que j'aurais du le faire ici.

                  Un coup de main ?:'(

                  Edit:

                  Problème résolu.

                  -
                  Edité par kamoba 22 juin 2019 à 22:18:17

                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 juillet 2019 à 12:01:04

                    Bonjour,

                    Partons du principe qu'il n'y a pas de mauvaises questions... J'ai 2 soucis :

                    1. je n'arrive pas à disposer de Nuclide à partir d'Atom,

                    2. concernant le chapitre "Faites vos premiers pas avec les components React", je me suis aperçu que je ne pointais pas sur un fichier app.js, mais sur un fichier app.tsx. Pourquoi ?

                    Et donc je suis parti de ce app.tsx qui fonctionnait bien pour afficher "Hello !" sur mon iphone et j'ai fait un copier/coller de vos lignes, ainsi que pour le ficher search.js 

                    Or, sur mon iphone apparaît le message d'erreur suivant :

                    "Unable to resolve module './Components/Search' from 'C:\Users\AG\Desktop\ReactNative\MoviesAndMe\App.tsx'. Indeed, none of these files exist:

                    *'C:\Users\AG\Desktop\ReactNative\MoviesAndMe\Search(.native||.ios.js|.natve.js|.js|.ios.json|.native.json|.json|.ios.ts|.native.ts|.ts|.ios.tsx.native.tsx|.tsx)'

                    Et le même message avec "index" à la place de "Search"

                    Que se passe-t-il ?

                    Merci pour vos réponses.

                    Alain


                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 août 2019 à 16:16:27

                      bonjour a tous!

                      je sollicite votre aide pour un erreur que j'ai lorsque j’essaye de me connecter a TMDB toute en sachant que j'ai tester ma clef et mes requêtes sur le site lui même et tout marche très bien.

                      Voici l'erreur:

                      GET https://api.themoviedb.org/3/search/movie?api_key=******clefApi*****&language=en-US&query=SUPERMAN&page=1&include_adult=false 401 (Unauthorized)

                      40.6071317fd04e950704c8.chunk.worker.js:1 Uncaught (in promise) TypeError: Failed to fetch

                      et voici mon code dans le fichier Search.js :

                      import React from 'react'
                      
                      import {View,Text,StyleSheet,TextInput,Button,FlatList,StatusBar} from 'react-native'
                      //import Films from './helpers/filmdata'
                      import Present from './Present'
                      import {getFilmsFromApiWithSearchedText} from '../API/TMDBA'
                      
                      export default class Window extends React.Component {
                      
                        constructor(props){
                          super(props)
                          this.state = {films:[]}
                        }
                      
                      _loaderFilms(){
                        
                        getFilmsFromApiWithSearchedText("start").then(data => {
                          this.setState({films: data.results})
                          })
                      
                        }
                      
                        render() {
                          console.log("rechercher");
                          return (
                            
                            <View style={styles.search}>
                                    <StatusBar  
                                          backgroundColor = "#b3e6ff"  
                                          barStyle = "dark-content"   
                                          hidden = {true}    
                                          translucent = {true}  
                                      />  
                              <View style={{marginBottom:20}}>
                                <TextInput style={styles.input} placeholder='Titre du filme' />
                      
                                <Button style={styles.bouton} title="Rechercher" onPress={ ()=>this._loaderFilms()}/>
                              </View>
                              
                              <View numberOfLines={4}>
                                <FlatList
                                  data={this.state.films}
                                  keyExtractor={(item) => item.id.toString()}
                                  renderItem={({item}) => <Present film={item} />}
                                />       
                               
                              </View>
                      
                            </View>
                      
                           
                          );
                        }
                      }
                      
                      
                      const styles = StyleSheet.create({
                      search:{
                        flex:1,
                        marginTop:20,
                        marginRight:5,
                        marginLeft:5  
                      },
                      input:{
                        borderWidth:2,
                        borderColor:'gray',
                        borderRadius:4,
                        paddingHorizontal:10,
                        marginBottom:20
                      },
                      bouton:{
                        height:50,
                        marginHorizontal:120
                        
                      }
                      
                      })

                      MERCI d'avance.

                      • Partager sur Facebook
                      • Partager sur Twitter

                      tout le monde a appris personne est née avec des connaissance

                        27 août 2019 à 15:37:27

                        Salut, je viens de finir le cours, c’était bien cool :).

                        Par contre quelque chose me chagrine, lorsque l'on saisi par exemple "ster" au lieu de "star", la correction de l'iphone le change en star, mais la recherche porte bien sur ster, il y a t'il un moyen de récupérer cette correction plutôt que le mot saisi initialement ?

                        merci

                        • Partager sur Facebook
                        • Partager sur Twitter
                          2 septembre 2019 à 23:10:31

                          Bonjour,

                          j'ai un problème lors de la navigation entre les views:

                          Unable to resolve "react-native-gesture-handler" from "node_modules\@react-navigation\native\src\Scrollables.js"
                          
                          Failed building JavaScript bundle.

                          J'ai exactement le même code que dans le cours. 

                           J'ai essayé d'installer react-native-gesture-handler avec la commande 

                          expo install react-native-gesture-handler

                          J'obtient l'erreur 'createStackNavigator()' has been moved to 'react-navigation-stack' avec ce lien https://reactnavigation.org/docs/en/stack-navigator.html

                          Donc je suis ce qu'on me dit de faire et je tape la commande 

                          expo install react-native-gesture-handler react-native-screens

                          Mais cette fois j'obtient cette erreur Some of your project's dependencies are not compatible with currently installed expo package version:

                           - react-native-screens - expected version range: 1.0.0-alpha.22 - actual version installed: ^1.0.0-alpha.22

                          Your project may not work correctly until you install the correct versions of the packages.

                          To install the correct versions of these packages, please run: expo install [package-name ...]

                          Je ne comprends rien, pouvez vous m'aider ? Ca me bloque dans le cours

                          • Partager sur Facebook
                          • Partager sur Twitter
                            4 septembre 2019 à 16:55:30

                            Salut ConstantG ! J'ai eu le même pb que toi avec "createStackNavigation" que je dois importer  depuis "reac-navigation". Dans le cours c'est le moment ou tu est sensé avoir le titre "Recherche" en haut de ta page. 

                            J'ai résolu le pb en écrivant dans mon fichier js : import { createStackNavigator } from 'react-navigation-stack';

                            J'espère que ça a pu t'aider ^^

                            Inco

                            -
                            Edité par Studd75 4 septembre 2019 à 16:56:11

                            • Partager sur Facebook
                            • Partager sur Twitter
                              5 septembre 2019 à 0:05:42

                              InconiosIncognito a écrit:

                              Salut ConstantG ! J'ai eu le même pb que toi avec "createStackNavigation" que je dois importer  depuis "reac-navigation". Dans le cours c'est le moment ou tu est sensé avoir le titre "Recherche" en haut de ta page. 

                              J'ai résolu le pb en écrivant dans mon fichier js : import { createStackNavigator } from 'react-navigation-stack';

                              J'espère que ça a pu t'aider ^^

                              Inco

                              -
                              Edité par InconiosIncognito il y a environ 6 heures

                              Merci de ton aide :) 

                              Mais j'ai exactement la même erreur mais avec stack :(, est-ce que tu as fait un npm install react-navigation stack N 

                              Unable to resolve "react-navigation-stack" from "Navigation\Navigation.js"
                              

                              Voici mon navigation.js

                              // Navigation/Navigation.js
                              
                              import { createAppContainer } from 'react-navigation'
                              import Search from '../Components/Search'
                              import { createStackNavigator } from 'react-navigation-stack';
                              
                              const SearchStackNavigator = createStackNavigator({
                                Search: { // Ici j'ai appelé la vue "Search" mais on peut mettre ce que l'on veut. C'est le nom qu'on utilisera pour appeler cette vue
                                  screen: Search,
                                  navigationOptions: {
                                    title: 'Rechercher'
                                  }
                                }
                              })
                              
                              export default createAppContainer(SearchStackNavigator)
                              

                              Mon package.json 

                              {
                                "main": "node_modules/expo/AppEntry.js",
                                "scripts": {
                                  "start": "expo start",
                                  "android": "expo start --android",
                                  "ios": "expo start --ios",
                                  "web": "expo start --web",
                                  "eject": "expo eject"
                                },
                                "dependencies": {
                                  "expo": "^34.0.1",
                                  "react": "16.8.3",
                                  "react-dom": "^16.8.6",
                                  "react-native": "https://github.com/expo/react-native/archive/sdk-34.0.0.tar.gz",
                                  "react-native-web": "^0.11.4",
                                  "react-navigation": "^4.0.0"
                                },
                                "devDependencies": {
                                  "babel-preset-expo": "^6.0.0"
                                },
                                "private": true
                              }
                              




                              • Partager sur Facebook
                              • Partager sur Twitter
                                5 septembre 2019 à 13:03:34

                                Hello,

                                Pour le coup j'ai le même code que toi et moi ça fonctionne très bien :/

                                Vérifie bien que tu as le dossier react-navigation-stack dans tes sous dossiers de node-modules.

                                Après essaye peut être de tout désinstaller réinstaller, mais je ne peux pas plus t'aider je commence aussi donc je ne suis pas expert

                                Bon courage ^^

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  5 septembre 2019 à 18:37:01

                                  InconiosIncognito a écrit:

                                  Hello,

                                  Pour le coup j'ai le même code que toi et moi ça fonctionne très bien :/

                                  Vérifie bien que tu as le dossier react-navigation-stack dans tes sous dossiers de node-modules.

                                  Après essaye peut être de tout désinstaller réinstaller, mais je ne peux pas plus t'aider je commence aussi donc je ne suis pas expert

                                  Bon courage ^^

                                  C'est bon ! Problème résolu ! Merci beacoup :magicien:

                                  J'ai donc utilisé react-navigation-stack ,

                                  j'ai installé react-native-gesture-handler avec la commande expo install react-native-gesture-handler

                                  puis il me disait que createStackNavigator avait été déplacé dans react-navigation-stack (enfaîte j'avais déjà eu cette erreur auparavant)

                                  donc j'ai installé react-navigation-stack,

                                  J'espère que ce message aidera certains d'entre vous ! :D

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    7 septembre 2019 à 20:43:35

                                    Bien le bonsoir, 

                                    J'ai eu quelques soucis avec la navigation, comme le message précédent (J'ai ouvert et solutionné mon post).

                                    En revanche, pour ma part, le :
                                    this.props.navigation.navigate('FilmDetail')

                                    ne fait absolument rien et le console.log de ceci me renvoie false. Il ne me semble avoir rien omis pourtant. Je n'ai pas d'erreurs, il ne se passe juste rien ...  (Je rentre bien dans ma fonction : 

                                    _displayDetailForFilm = (idFilm) => {
                                            console.log("Display film with id " + idFilm)
                                            console.log(this.props.navigation.navigate('FilmDetail'))
                                            this.props.navigation.navigate('FilmDetail')
                                        }

                                    Mon fichier Navigation.js : 

                                    import { createAppContainer } from 'react-navigation'
                                    import { createStackNavigator } from 'react-navigation-stack'
                                    import Search from '../Components/Search'
                                    import FilmDetail from '../Components/FilmDetail'
                                    
                                    const SearchStackNavigator = createStackNavigator({
                                      Search: { 
                                        screen: Search,
                                        navigationOptions: {
                                          title: 'Rechercher'
                                        },
                                        FilmDetail: {
                                            screen: FilmDetail
                                        }
                                      }
                                    })
                                    
                                    export default createAppContainer(SearchStackNavigator)


                                    Le console.log de this.props au niveau du render() de mon component Search.js : 

                                    Object {
                                      "navigation": Object {
                                        "actions": Object {
                                          "dismiss": [Function dismiss],
                                          "goBack": [Function goBack],
                                          "navigate": [Function navigate],
                                          "pop": [Function pop],
                                          "popToTop": [Function popToTop],
                                          "push": [Function push],
                                          "replace": [Function replace],
                                          "reset": [Function reset],
                                          "setParams": [Function setParams],
                                        },
                                        "addListener": [Function addListener],
                                        "dangerouslyGetParent": [Function anonymous],
                                        "dismiss": [Function anonymous],
                                        "dispatch": [Function anonymous],
                                        "emit": [Function emit],
                                        "getChildNavigation": [Function getChildNavigation],
                                        "getParam": [Function anonymous],
                                        "getScreenProps": [Function anonymous],
                                        "goBack": [Function anonymous],
                                        "isFirstRouteInParent": [Function isFirstRouteInParent],
                                        "isFocused": [Function isFocused],
                                        "navigate": [Function anonymous],
                                        "pop": [Function anonymous],
                                        "popToTop": [Function anonymous],
                                        "push": [Function anonymous],
                                        "replace": [Function anonymous],
                                        "reset": [Function anonymous],
                                        "router": undefined,
                                        "setParams": [Function anonymous],
                                        "state": Object {
                                          "key": "id-1567881853245-0",
                                          "routeName": "Search",
                                        },
                                      },
                                      "screenProps": undefined,
                                    }
                                    



                                    Quelqu'un a déjà rencontré ce problème ? 

                                    EDIT : Oh mon dieu ... Je viens de voir mon erreur ... Mon "FilmDetail" est DANS "Search" ... :waw: Une heure que je cherche ... 

                                    -
                                    Edité par Ritooon 7 septembre 2019 à 21:01:08

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      16 septembre 2019 à 14:51:17

                                      Bonjour, je viens de finir le chapitre sur redux avec l'exercie sur la conception d'un Reducer pour l'historique.

                                      mais ça ne marche pas je ne sais pas ou est le problème 

                                      const initialState = {
                                        historicFilms: []
                                      }
                                      
                                      function manageHistoricFilms(state = initialState, action) {
                                        let nextState
                                         case 'TOGGLE_FILMDETAIL':
                                            const historicFilmIndexAdd = state.historicFilms.findIndex( item => item.id === action.value.id)
                                               if(historicFilmIndexAdd === -1){
                                                      nextState = {...state,
                                                          historicFilms: [...state.historicFilms, action.value]
                                                          }
                                              
                                               }else{
                                                 nextState = {
                                                   historicFilms: state.historicFilms
                                                 }
                                               }
                                           
                                              return nextState|state
                                              case 'REMOVE_HISTORIC_FILM':
                                                var historicFilmIndexRemove = state.historicFilms.findIndex( item=> item.id === action.value.id)
                                                 nextState = {...state, 
                                                               historicFilms: state.historicFilms.filter((item, index) => item.id !==  historicFilmIndexRemove) 
                                                             }
                                               
                                                return nextState|state
                                             case 'RESET_HISTORIC':
                                                 nextState = {...state, 
                                               historicFilms: []}
                                               return nextState|state
                                          return state
                                      }
                                      
                                      export default manageHistoricFilms
                                      


                                      -
                                      Edité par AnisZarrouk 16 septembre 2019 à 14:53:46

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        17 septembre 2019 à 11:31:16

                                        Bonjour, merci pour ce super cours, c'est très clair, tu es un bon pédagogue !

                                        Mille fois merci

                                        J'aimerais modifier le type de l'application en listant des restaurant ou des maraichers à la place de films. Une liste que je gérerais moi-même et à laquelle j'ajouterais des nouvelles entrées au fur et à mesure. [J'aimerais pousser un peu plus loin en ajoutant un affichage map/liste, on verra plus tard...]

                                        Pour ce faire, dois-je me munir du API contenant la liste des restaurants ? Si oui, dois-je la créer moi-même ?

                                        Merci par avance

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          19 septembre 2019 à 11:44:31

                                          spudyboy a écrit:

                                          Une liste que je gérerais moi-même et à laquelle j'ajouterais des nouvelles entrées au fur et à mesure. 

                                          Si tu souhaites gérer toi même la liste, il vaut mieux avoir une API propre (et donc la créer soi même)

                                          Cela te permet de rester dans le même cas d'utilisation. 

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            19 septembre 2019 à 15:37:47

                                            thomasdevilleduc a écrit:

                                            spudyboy a écrit:

                                            Une liste que je gérerais moi-même et à laquelle j'ajouterais des nouvelles entrées au fur et à mesure. 

                                            Si tu souhaites gérer toi même la liste, il vaut mieux avoir une API propre (et donc la créer soi même)

                                            Cela te permet de rester dans le même cas d'utilisation. 


                                            Merci !!!
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              20 septembre 2019 à 21:07:50

                                              react-native run-android
                                              info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag.
                                              Jetifier found 855 file(s) to forward-jetify. Using 4 workers...
                                              info Starting JS server...
                                              info Installing the app...
                                              Exception in thread "main" java.lang.RuntimeException: Timeout of 120000 reached waiting for exclusive access to file: C:\Users\user\.gradle\wrapper\dists\gradle-5.4.1-all\3221gyojl5jsh0helicew7rwx\gradle-5.4.1-all.zip
                                                      at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
                                                      at org.gradle.wrapper.Install.createDist(Install.java:48)
                                                      at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)
                                                      at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:63)
                                              
                                              error Failed to install the app. Make sure you have the Android development environment set up: https://facebook.github.io/react-native/docs/getting-started.html#android-development-environment. Run CLI with --verbose flag for more details.
                                              Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081
                                              Exception in thread "main" java.lang.RuntimeException: Timeout of 120000 reached waiting for exclusive access to file: C:\Users\user\.gradle\wrapper\dists\gradle-5.4.1-all\3221gyojl5jsh0helicew7rwx\gradle-5.4.1-all.zip
                                                      at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
                                                      at org.gradle.wrapper.Install.createDist(Install.java:48)
                                                      at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)
                                                      at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:63)
                                              
                                                  at checkExecSyncError (child_process.js:629:11)
                                                  at execFileSync (child_process.js:647:13)
                                                  at runOnAllDevices (C:\Users\user\Desktop\MyAwesomeProject\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:74:39)
                                                  at buildAndRun (C:\Users\user\Desktop\MyAwesomeProject\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\index.js:158:41)
                                                  at then.result (C:\Users\user\Desktop\MyAwesomeProject\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\index.js:125:12)
                                                  at process._tickCallback (internal/process/next_tick.js:68:7)


                                              bonsoir, je n'arrive pas à créer une application avec du code native est ce qu'il y a une solution ?

                                              -
                                              Edité par AnisZarrouk 20 septembre 2019 à 21:10:58

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                25 septembre 2019 à 14:24:58

                                                Bonjour,

                                                Je n'ai pas de change j'ai un problème dés le début, des que je lance ma commande  npm install -g expo-cli j'ai les erreurs suivantes:

                                                -npm WARN deprecated topo

                                                -npm WARN deprecated hoek

                                                -npm WARN deprecated joi

                                                -
                                                Edité par Sylwek 25 septembre 2019 à 14:25:19

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  26 septembre 2019 à 17:49:49

                                                  A première vue, ce sont des warning : rien de bloquant
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    2 octobre 2019 à 16:22:27

                                                    Bonjour, 

                                                    Il y a eu une update d'expo, de react et de react-navigation (avec pour ce dernier, une séparation entre le AppContainer et le StackNavigator )  

                                                    J'ai plusieurs fois vérifié mon code, mais le code du cours n'est plus celui utilisé par les dernieres version de react-native. 

                                                    Serait il possible d'avoir un cours à jour ? 

                                                    Cordialement,

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      4 octobre 2019 à 17:06:04

                                                      SébastienLézin a écrit:

                                                      Bonjour

                                                      J'ai fini le cours hier. Merci c'était super pour un débutant comme moi.

                                                      Cependant j'ai un soucis. Je croyais que ça venait de mon code mais j'ai téléchargé ta version de github et le soucis est le même.

                                                      Si l'appli est killée, la liste des films favoris remonte bien, par contre l'avatar lui est invisible (si on a choisi un avatar de la gallery android par exemple). La donnée est bien stockée via le reducer et même à l'air d'être réhydratée. Mais le visuel reste blanc.

                                                      Peux-tu me dire si le problème n'est que sur mon smartphone ? Ou tu as ce souci aussi ou quelqu'un da'autres peut être qui en est là ?

                                                      Merci d'avance


                                                      Bonjour, j'ai le même soucis, l'avatar qui soit n'est pas persisté, soit qui n'est pas réhydraté, pour les films en favoris par contre aucun soucis.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        8 octobre 2019 à 8:49:30

                                                        Bonjour,

                                                        Je débute dans la programmation, l'approche du cours est pas toujours évidente mais j'y arrive jusqu’à ce que j'ai ça:

                                                         Et je ne vois pas trop quoi faire, j'ai tenté les étapes d'installations du début mais ça ne fonctionne pas, une solution?

                                                        EDIT: J'ai trouvé la solution, en fait j'avais, via des lignes de commande, update le node en version 12.11.1 qui est la version "current" et qui n'est pas recommandé comme indiquer dans le cours, là ou l'auteur recommande la version LTS. D'ou ma surprise en voyant la version 12, a mon avis je l'avais update via une ligne de commande. (en installant chocolatey peut etre?)

                                                        J'ai donc désinstaller l'ancienne version et du tout réinstaller en faisant un backup de mes fichiers configurer au préalable bien entendu.

                                                        Tout fonctionne :)

                                                        -
                                                        Edité par SpectralRenzukoken1 8 octobre 2019 à 10:27:52

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          25 octobre 2019 à 11:29:07

                                                          Bonjour à tous, 

                                                          je commence à peine le tutoriel, que je me retrouve face à une impasse. 

                                                          Déjà dans le tutoriel il est écrit que l'on devrait se retrouver avec ce code-ci : 

                                                          //App.js 
                                                          
                                                          import React from 'react';
                                                          import { StyleSheet, Text, View } from 'react-native';
                                                          
                                                          export default class App extends React.Component {
                                                            render() {
                                                              return (
                                                                <View style={styles.container}>
                                                                  <Text>Open up App.js to start working on your app!</Text>
                                                                </View>
                                                              );
                                                            }
                                                          }
                                                          
                                                          const styles = StyleSheet.create({
                                                            container: {
                                                              flex: 1,
                                                              backgroundColor: '#fff',
                                                              alignItems: 'center',
                                                              justifyContent: 'center',
                                                            },
                                                          });

                                                          Sauf que moi, je me retrouve avec ce code-ci : 

                                                          import React from 'react';
                                                          import { StyleSheet, Text, View } from 'react-native';
                                                          
                                                          export default function App() {
                                                            return (
                                                              <View style={styles.container}>
                                                                <Text>Open up App.js to start working on your app!</Text>
                                                              </View>
                                                            );
                                                          }
                                                          
                                                          const styles = StyleSheet.create({
                                                            container: {
                                                              flex: 1,
                                                              backgroundColor: '#fff',
                                                              alignItems: 'center',
                                                              justifyContent: 'center',
                                                            },
                                                          });
                                                          

                                                          La différence est au niveau de "export default function App()..."

                                                          Et quand j'essais de mettre comme dans le cours, l'élément "Component" de "React.Component" est orange/rouge. Et j'ai des messages d'erreurs lorsque je regarde mon émulateur...

                                                          Je suis un peu perdu et j'ignore pourquoi je ne me retrouve pas avec le même texte. 

                                                          Merci de votre aide ! :)



                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            25 octobre 2019 à 11:52:16

                                                            Bonjour à tous,

                                                            je viens de commencer le cours de React Native, mais comme je suis novice en développement je pense que quelqu'un d'entre vous peut m'aider à comprendre ce bout de code:

                                                             getFilmsFromApiWithSearchedText("star").then(data => console.log(data));

                                                            En effet, quand j'ai checké un peu sur le net je vois fetch avec deux .then imbriqués et dans le code ci-dessous je vois un appel de fonction avec un then à la suite. je me sens un peu perdu, pouvez-vous s'il vous plait m'éclaircir. c'est surtout la syntaxe de ce bout de code qui me rend fou lol 

                                                            Merci

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              26 octobre 2019 à 1:41:33

                                                              Bonjour tout le monde , 

                                                              j'ai un problème avec la mise en place de react native j'ai un message a chaque fois sur la ligne de commande m'invite a modifier un fichier app.json que je le trouve même pas a savoir que j'ai pas réussie a installer mon application merci pour votre aide

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Dans la vie, soit on gagne... Soit on apprend!

                                                              [COURS] Développement mobile React Native

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              • Editeur
                                                              • Markdown