J'ai une situation où j'ai besoin d'accéder aux données liées à l'authentification dans un autre module
Par exemple.
J'ai deux fichiers réducteurs différents
auth.js
todo.js
Je dois maintenant accéder à l'état du réducteur d'authentification dans todo, et pour cela, j'ai combiné le réducteur
Mais lorsque j'essaye de consoler les accessoires, je ne parviens pas à accéder aux données d'authentification dans le module todo
Avons-nous une approche simple pour cela, faites-le moi savoir
3 Réponses :
Vous devez consolider vos réducteurs dans un magasin Redux. Traditionnellement, vous feriez cela en importez {createStore, combineReducers} depuis "redux"
Et configurez votre boutique comme:
const store = createStore(combineReducers({ auth: authReducer, todo: todoReducer }))
Que la manière dont vos composants connectés ont accès aux deux états du réducteur à tout moment. Sinon, il n'y a aucun intérêt à mélanger les données entre les deux réducteurs. Les réducteurs doivent gérer leur propre état et agir de manière indépendante en tant que tels.
J'ai déjà fait cela, mais je n'arrive pas à obtenir les détails du statut d'authentification dans le module todo
Qu'entendez-vous par «module todo», voulez-vous dire un composant ou un autre réducteur?
Pensez que vous devez vous mapStateToProps
function mapStateToProps(state){ return { auth: state.auth, todo: state.todo } }
J'ai trouvé la solution en faisant de la R & D par moi-même
Le problème est que j'utilisais uniquement le réducteur todo dans mon module todo, mais si nous devons utiliser les différentes données du réducteur, nous devons mapper les états séparément, tout comme ci-dessous
const mapStateToProps = state => { const auth = state.get('auth') && state.get('auth').toJS && state.get('auth').toJS(); const todo = state.get('todo') && state.get('todo').toJS && state.get('todo').toJS(); return { ...auth, ...todo }; };
voici comment nous pouvons accéder à plusieurs données d'état dans nos modules en utilisant mapStateToProps et pouvons les renvoyer en fonction des besoins de l'entreprise