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

388
Vistas
No se pudo encontrar "tienda" ni en el contexto ni en los accesorios de "Conectar (aplicación)"

Tengo problemas con Redux mal configurado después de fusionar el contenido de varios archivos en uno para que sirva como configuración para Redux.

¿Cómo resolver store , manteniendo esto en un archivo?

Excepción de JS no controlada: no se pudo encontrar "tienda" en el contexto o los accesorios de "Conectar (aplicación)". Envuelva el componente raíz en un , o pase explícitamente "almacenar" como accesorio a "Conectar (aplicación)".

 'use strict'; import React, { Component } from 'react'; import { createStore, applyMiddleware, combineReducers, bindActionCreators } from 'redux'; import { Provider, connect } from 'react-redux'; import thunk from 'redux-thunk'; import * as screenActions from './redux/actions/screenActions'; import * as reducers from './redux/stores/reducers'; const createStoreWithMiddleware = applyMiddleware(thunk)(createStore); const reducer = combineReducers(reducers); const store = createStoreWithMiddleware(reducer); import RootContainer from './redux/views/containers/rootContainer'; class App extends Component { render() { const { state, actions } = this.props; return ( <Provider store={store}> <RootContainer /> </Provider> ); } } export default connect( (state) => ({ state: state.reducer }), (dispatch) => ({ actions: bindActionCreators(screenActions, dispatch) }) )(App);
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

  • Provider, pasa el almacén al componente anidado dentro de él y, por lo general, solo es necesario aplicarlo al componente raíz (en su caso, <RootContainer>

  • connect conectar con el componente que proporciona la tienda y no con el componente que tiene la tienda proporcionada.

SOLUCIÓN SUGERIDA:

MOVER la connect al archivo del componente <RootContainer> en su lugar, y pase la connect al RootContainer y no al componente de la aplicación:

 export default connect( (state) => ({ state: state.reducer }), (dispatch) => ({ actions: bindActionCreators(screenActions, dispatch) }) )(RootContainer); // <<--- here :)

ACTUALIZAR:

Dado que el OP quiere lograr todo esto en el mismo archivo, deberá crear un elemento React que represente su contenedor Redux creado desde connect, entonces:

 'use strict'; import React, { Component } from 'react'; import { createStore, applyMiddleware, combineReducers, bindActionCreators } from 'redux'; import { Provider, connect } from 'react-redux'; import thunk from 'redux-thunk'; import * as screenActions from './redux/actions/screenActions'; import * as reducers from './redux/stores/reducers'; const createStoreWithMiddleware = applyMiddleware(thunk)(createStore); const reducer = combineReducers(reducers); const store = createStoreWithMiddleware(reducer); import RootContainer from './redux/views/containers/rootContainer'; // name has to be capitalised for React to recognise it as an element in JSX const ConnectedRoot = connect( (state) => ({ state: state.reducer }), (dispatch) => ({ actions: bindActionCreators(screenActions, dispatch) }) )(RootContainer); class App extends Component { render() { const { state, actions } = this.props; return ( <Provider store={store}> <ConnectedRoot /> <------USE IT HERE </Provider> ); } }
over 4 years ago · Santiago Trujillo Denunciar

0

Tuve tal problema cuando usé:

 import connect from "react-redux/lib/connect/connect";

en lugar de eso, usa:

 import {connect} from "react-redux";
over 4 years ago · Santiago Trujillo Denunciar

0

En su índice raíz, coloque el proveedor.

 <Provider store={store}> <App /> </Provider>,
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