Je commence juste avec réagir et redux et je suis tombé sur quelque chose que je ne peux pas comprendre moi-même - je pense que Redux State ne change pas et que cela provoque des erreurs (certaines des). Je vérifie l'état avec l'utilisation de la télécommande-Redux-DevTools@0.5.0.
Mon code: catégories.js: p> ../../ actions / catégories.js: p> import { combineReducers } from "redux";
import categories from './categories';
export default combineReducers({
categories,
3 Réponses :
Je crois que votre problème est que vous exportez deux fois votre catégories code> deux fois, une fois connecté, l'autre non. p>
Si vous supprimez Les catégories de classe d'exportation étend le composant code>, fonctionnent-t-il comme prévu? p>
Si je supprimais l'exportation, il imprime "Exporter 'Catégories' n'a pas été trouvé dans './Catégories' Code> dans le serveur NPM
Vous devrez l'importer différemment car il utilise réellement un par défaut code>. Vous seriez importer {Catégories} de "./Catégories" Code>
Oui, vous avez raison et cela résout la majorité des problèmes que j'avais - plus ceci.props.gecatégories n'est pas une fonction code> et maintenant je peux afficher ceci.props.catégories code> Contenu en boucle (si je peux l'appeler cela) dans les catégories.js, mais il y a encore une dernière chose - l'état de Redux est toujours vide. Je suppose que je l'ai configuré de manière intégrée, car tout le reste fonctionne très bien.
Pouvez-vous confirmer que l'API que vous frappez est en train de vous donner la réponse que vous attendez? Vous pouvez simplement consoler.Log the res code> dans getcategories code>. vérifier.
Oui, je récupère d'API ce qui est attendu - je l'ai imprimé l'un des composants et a été capable de comparer.
Lorsque vous mappiez l'état dans un composant, vous devez accéder à la variable souhaitée via un réducteur.
donc au lieu de: p> Vous devez utiliser: p>
Oui, vous avez raison, cela devrait être fait comme vous le dites. Changé cette ligne, mais malheureusement, pas de chance. Il n'entre pas catégories_get code> dans le réducteur (vérifié avec la connexion à la console).
Vos accessoires n'ont pas la méthode GetCatégories, car vous ne l'avez pas transmis comme une fonction à Une meilleure approche consiste à définir uniquement le code d'action dans votre fichier d'actions et Ensuite, utilisez ../../ actions / catégories.js p> catégories.js p > connectez code>. mapdispatchtoprops code>. p> import { getCategories } from '../../actions/categories'
import { CATEGORIES_GET } from "./types";
const mapDispatchToProps = dispatch => {
return {
getCategories: () => dispatch(() => { type: CATEGORIES_GET, payload: getCategories() }),
}
}
export default connect(mapStateToProps, mapDispatchToProps)(Categories);
Pourriez-vous partager votre fichier
rootReducer code>?Bien sûr, l'a ajouté à la fin (réducteurs / index.js).