Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

243
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!