Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

242
Vistas
¿Cómo puede acceder a la tienda de redux desde una función de ayuda que no es de componentes?

Tengo una función auxiliar a la que llamo cuando quiero eliminar algo de mi tienda redux. Sin embargo, necesito poder acceder a la tienda actual dentro de la función para determinar qué hacer a continuación. Esto es lo que quiero hacer:

 export function deleteDocument (id) { this.props.dispatch(deleteShape({id})); const getStore = getStore(); //<-- I need something like this if(getStore.documents && !getStore.documents.find(doc => doc.selected)){ this.props.dispatch(makeTopDocumentSelected()); } }

Llamo a esta función desde un componente y le paso el contexto "este" para que tenga acceso al envío si tiene curiosidad al respecto. Pero si trato de hacer referencia a un accesorio que paso, no se actualiza después de la llamada "deleteShape" porque esta función no está "conectada" (por falta de una palabra mejor) a la tienda redux. Entonces mi pregunta es esta: ¿cómo puedo acceder a la tienda redux actual desde funciones que no son componentes? Gracias

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Debo decir que creo que es una mala práctica acceder aleatoriamente a la tienda desde alguna función, y pueden ocurrir algunos efectos secundarios, pero si tiene que hacerlo, esta es una forma posible:

archivo: storeProvider.js

 var store = undefined; export default { init(configureStore){ store = configureStore(); }, getStore(){ return store; } };

archivo: App.js

 import { createStore } from 'redux'; import rootReducer from './rootReducer'; import storeProvider from './storeProvider'; const configureStore = () => createStore(rootReducer); storeProvider.init(configureStore); const store = storeProvider.getStore(); const App = () => <Provider store={store} > <Stuff/> </Provider>

archivo: sufuncion.js

 import storeProvider from './storeProvider'; export function deleteDocument (id) { this.props.dispatch(deleteShape({id})); const state = storeProvider.getStore().getState(); if(state.documents && !state.documents.find(doc => doc.selected)){ this.props.dispatch(makeTopDocumentSelected()); } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda