Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

251
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda