Creé un reductor llamado auth y persistí en este reductor.
Quiero obtener un valor de autenticación fuera del componente funcional o del componente de clase, por ejemplo, en utils. ¿Cómo puedo hacer eso?
export const LOGIN_SUCCESS = 'LOGIN_SUCCESS'; export const LoginSuccess = (payload) => { return { type: LOGIN_SUCCESS, payload }; }; import { LOGIN_SUCCESS } from './authAction'; // INITIAL TIMER STATE const initialState = { user: {} }; // Auth REDUCER export const authReducer = (state = initialState, { type, payload }) => { switch (type) { case LOGIN_SUCCESS: return { ...state, user: payload }; default: return state; } }; const reducers = { auth: authReducer }; const persistConfig = { key: 'primary', storage, whitelist: ['auth'] // place to select which state you want to persist };Esto no es realmente una forma de "reaccionar-redux". Su tienda es una parte de la aplicación de reacción que es solo un gran componente de reacción. Sin embargo, puede crear su tienda en un módulo separado fuera de su aplicación y usarla donde desee importar una instancia de su tienda.
Por ejemplo, está creando su tienda en store.js :
// store.js export default createStore(reducer, preloadedState, enhancers);Luego, puede importarlo dentro de su aplicación de reacción.
// app.jsx import store from '/path/to/store'; import { Provider } from 'react-redux'; function App () { <Provider store={store}>{everything else}</Provider> }y dentro de tus utilidades
// my-util.js import store from '/path/to/store'; function util() { // do whatever you want with same instance of store // for example, return current state return store.getState() }Puede suscribirse a la tienda, si lo necesita o simplemente obtener el estado actual. O puede hacer cosas complejas reemplazando reductores para actualizaciones perfectas del lado del cliente.