Redux / React: Вы должны передать компонент в функцию, возвращаемую через connect.Вместо этого получил {} - PullRequest
0 голосов
/ 06 октября 2018

Я новичок в реакции / редуксе.После создания проекта с использованием create-реагировать на приложение я изменил index.js и App.js:

index.js

import React from 'react';
import ReactDOM from 'react-dom';

import './index.css';
import App from './App';
import registerServiceWorker from './registerServiceWorker';

import { Provider } from 'react-redux';
import { createStore } from 'redux';

function reducer() {
    return {
        message: 'hello, world'
    };
}

const store = createStore(reducer);

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

registerServiceWorker();

App.js

import React, { Component } from 'react';
import './App.css';
import { connect } from "react-dedux";

class App extends Component {
  render() {
    return (
      <div>
        <p>The message: {this.props.msg}</p>
      </div>
    );
  }
}


function mapStateToProps(state) {
  return {
    msg: state.message
  };
}

export default connect(mapStateToProps)(App);

Это самая простая демо-версия, которую я пробую.Сообщение об ошибке: «Вы должны передать компонент в функцию, возвращаемую соединением. Вместо этого получил {}».Я сравнивал свой код с некоторыми учебниками, но не смог найти причину.

1 Ответ

0 голосов
/ 06 октября 2018

Я не могу поверить в это, мой код был

import { connect } from "react-dedux";

, в то время как правильное имя пакета - response-redux.Так что после того, как я изменил его на

import { connect } from "react-redux";

Это работает!По крайней мере, это доказывает, что я связываю код, а не копирую.Эта функция автозавершения обманула меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...