Redux - недопустимый тип элемента: ожидается строка / проверьте метод визуализации ошибки `Provider` - PullRequest
0 голосов
/ 16 января 2019

У меня есть следующий код:

import React from 'react';
import ReactDOM from 'react-dom';
import rootReducer from './redux/reducers/rootReducer';
import {Provider} from 'react-redux';
import {createStore, applyMiddleware} from 'redux';
import {BrowserRouter} from 'react-router-dom';
import thunk from 'redux-thunk';
import Main from './Main';

import './i18n';

const store = createStore(rootReducer,
    {},
    applyMiddleware(thunk));

ReactDOM.render(<Provider store={store}><BrowserRouter><Main/></BrowserRouter></Provider>, document.getElementById('app'));

Но когда я пытаюсь запустить его, я получаю:

Недопустимый тип элемента: ожидается строка (для встроенных компонентов) или класс / функция (для составных компонентов), но получил: object.

Проверьте метод рендеринга Provider.

Мой Main класс выглядит так:

function mapStateToProps(state) {
    return {
        dashboard: state.dashboard
    }
}

function mapDispatchToProps(dispatch) {
    return bindActionCreators(actions, dispatch)
}

const Main = withRouter(connect(mapStateToProps, mapDispatchToProps)(App));

export default Main;

В чем проблема?

1 Ответ

0 голосов
/ 16 января 2019

Я использовал react-redux@6.0. Из документов: https://github.com/reduxjs/react-redux/releases/tag/v6.0.0

Больше не передается хранилище в качестве опоры подключенному компоненту поддерживается. Вместо этого вы можете передать собственный контекстный контекст {MyContext} в оба и . Вы также можете передать {context: MyContext} как опция для подключения.

В любом случае, понижение до 5.1 решило это.

...