1
votes

React Native, comment utiliser l'état d'un autre fichier?

Je crée un jeu à boire simple. Lorsqu'une carte à jouer s'affiche, sa règle correspondante s'affiche en dessous. Toute la logique à cela se trouve dans mon fichier game.js. J'ai un autre écran, où vous pouvez lire les règles et les modifier. Comment puis-je partager l'état entre deux fichiers, donc lorsque je modifie les règles dans le fichier settings.js, l'état change également dans le fichier game.js? La logique dans le fichier de paramètres:

get rules() {
 switch (deck1.deck[this.state.card]) {
 case "Ace_of_Spades":
    return {this.state.rule1}
 ...
 case "King_of_Spades":
     return {this.state.rule13}

La logique dans mon fichier game.js pour les règles en ce moment est:

 get rules() {
 switch (deck1.deck[this.state.card]) {
 case "Ace_of_Spades":
    return <Text> some rule1 <Text>
 ...
 case "King_of_Spades":
     return <Text> some rule13 <Text>

Mais je le ferais comme pour lui avoir l'état du fichier settings.js par exemple comme ceci:

constructor(props) {
  super(props);
  this.state = {
    rule1: 'some rule1',
    ...
    rule13: 'some rule13'

    (Also TextInput fields and functions to update the state for each rule)

Alors, quelle serait la méthode la plus simple et la plus simple pour simplement partager ces états entre les 2 fichiers ?


0 commentaires

3 Réponses :




0
votes

Vous pouvez utiliser un système de gestion d'état global comme MobX ou Redux. Toute modification apportée au magasin déclenchera une mise à jour dans tous les fichiers où le magasin est appelé.

Utiliser AsyncStorage est une autre option, mais elle deviendra bientôt compliquée.


0 commentaires