Не удалось найти «store» в контексте «Connect (MyComponent)»?Redux-React Проблема - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь создать свое первое маленькое веб-приложение, используя редукс и реакцию, я следую за курсом и делаю именно то, что он делает, чтобы я мог научиться устанавливать вещи, но я получаю сообщение об ошибке в своей консоли:

Could not find "store" in the context of "Connect(UserList)"

Теперь я объясню, что я сделал, я сделал эту простую структуру папок:

reactapp --- src --- actions ( empty for now )

                 --- components --- app.js
                                --- userlist.js

                 --- reducers   --- index.js
                                --- userlist.js

                 index.js

Вот мой файл сокращений / списка пользователей:

export default function() {
  return [
    { id: 1, nom: "Taoufiq BENALLAH", active: "NON", role: "Internship" },
    { id: 2, nom: "Mounia Drari", active: "OUI", role: "Developer" },
    { id: 3, nom: "Jaouhar Alaoui", active: "NON", role: "Internship" },
    { id: 4, nom: "ILyass LAZ", active: "OUI", role: "Technical Expert" }
  ];
}

Иэто мой файл redurs / index.js: (мой импорт настроен правильно)

import { combineReducer } from "redux";
import UserList from "./userlist";

const rootReducer = function() {
   users: UserList;
};

export default rootReducer;    

Это мой список пользователей компонентов:

import React, { Component } from "react";
import { connect } from "react-redux";

class UserList extends Component {
   render() {
     return <div>{this.props.users}</div>;
   }
}

function mapStateToProps(state) {
   return {
     users: state.users
   };
}

export default connect(mapStateToProps)(UserList);

вот мой app.js

import React, { Component } from "react";
import UserList from "./userlist";

class App extends Component {
  render() {
    return (
      <div>
        <UserList />
      </div>
    );
  }
}

export default App;

и, наконец, это мой src / index.js как обычно:

import React from "react";
import ReactDOM from "react-dom";
import "./index.css";
import App from "./components/app";
import * as serviceWorker from "./serviceWorker";

ReactDOM.render(<App />, document.getElementById("root"));

serviceWorker.unregister();

Вот моя ошибка снова в деталях: enter image description here

Любая помощь будет высоко ценится.

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019
import { createStore, applyMiddleware, combineReducers } from 'redux';
import logger from 'redux-logger'

const store = createStore(rootReducer, applyMiddleware(logger));

ReactDOM.render(<Provider store={store}><App /></Provider>, document.getElementById('root'));

Вам нужно обернуть приложение в провайдере и добавить магазин в качестве реквизита в index.js

0 голосов
/ 11 февраля 2019

Вам нужно завернуть в Provider и добавить магазин в качестве реквизита.Пожалуйста, смотрите документы .В app.js:

<Provider store={store}>
  <div>
    <UserList />
  </div>
</Provider>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...