es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo acceder a mi estado de redux fuera del componente funcional o de la clase?

He creado un reducer llamado auth y lo he persistido en este reducer.

Quiero obtener el valor de auth fuera del componente funcional o componente de clase, por ejemplo en los utils. ¿Cómo puedo hacer eso?

authAction.js

export const LOGIN_SUCCESS = ‘LOGIN_SUCCESS’;

export const LoginSuccess = (payload) => {
return {
type: LOGIN_SUCCESS,
payload
};
};

authReducer.js

import { LOGIN_SUCCESS } from ‘./authAction’;
// ESTADO INICIAL DEL TEMPORIZADOR
const initialState = {
user: {}
};
// REDUCTOR DE AUTENTICACIÓN
export const authReducer = (state = initialState, { type, payload }) => {
switch (type) {
case LOGIN_SUCCESS:
return { …state, user: payload };
default:
return state;
}
};

persistir reductor de autenticación

const reducers = {
auth: authReducer
};

const persistConfig = {
key: ‘primary’,
storage,
whitelist: [‘auth’] // lugar para seleccionar qué estado desea persistir
};

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para obtener el valor de auth fuera del componente funcional o de clase, puedes usar la función getState() proporcionada por Redux. Esta función devuelve el valor actual del almacenamiento, que incluye el estado auth.

    En tu archivo de utilidad, puedes importar el almacenamiento y usar la función getState() para obtener el valor del estado auth.

    Aquí tienes un ejemplo:

    import store from '/ruta/al/almacenamiento';
    
    const authState = store.getState().auth;
    
    console.log(authState.user); // registra el valor actual del usuario en el estado auth
    

    Asegúrate de importar el almacenamiento desde la ruta correcta hacia tu archivo de almacenamiento, y de llamar a getState() después de que el almacenamiento haya sido creado e inicializado con tus reductores y middleware.

Comments are closed.