Не удалось найти "store" ни в контексте, ни в подпорках "Connect (DataTableContainer)" - PullRequest
1 голос
/ 11 мая 2019

Я использую плагин реагирующий-редуцирующий-данные для создания таблиц.

использование-реакт-редуцирующий-данные: https://sean -ww.github.io / реаги-redux-datatable / get-start / get-start.html Я выполнил действия, указанные в вышеприведенных документах.

Но я не могу устранить эту ошибку.Я включил хранилище в Provider Container, но все еще получаю проблему.

Я получаю ошибку, Не удалось найти «store» ни в контексте, ни в подпунктах «Connect (DataTableContainer)».Либо оберните корневой компонент в поставщике, либо явно передайте «store» в качестве реквизита «Connect (DataTableContainer)».

Я включил два файла index.js и App.js

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import { applyMiddleware, createStore, combineReducers } from 'redux';
import { Provider } from 'react-redux';
import logger from 'redux-logger'

import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
import supplierReducer from './store/supplierreducer';
import { DataTableReducer } from 'react-redux-datatable';
import { connect } from 'net';

const rootReducer = combineReducers({
    supplierReducer,
    DataTableReducer
});

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

const app = (
    <Provider store={store}>
        <App />
    </Provider>
);

ReactDOM.render(app, document.getElementById('root'));

serviceWorker.unregister();

App.js


import DataTable from 'react-redux-datatable';

class App extends Component {
render() {
        const apiLocation = 'https://api.myjson.com/bins/j59v8';

        const tableSettings = {
            tableID: 'BasicDataTable',
            keyField: 'request_id',
            tableColumns: [
                {
                    title: 'Ref',
                    key: 'request_id',
                },
                {
                    title: 'First Name',
                    key: 'first_name',
                }
            ],
        };

        return (
            <div>
                <DataTable
                    tableSettings={this.tableSettings}
                    apiLocation={this.apiLocation}
                />
            </div>
        );
    }

}

const mapStateToProps = state => {
    return {
        name: state.name,
        address: state.address,
        supplierData: state.supplierData
    };
};

const mapDispatchToProps = dispatch => {
    return {
        onSupplierDataListSuccess: (response) => dispatch({
            type: 'SUPPLIER_DATA_SUCCESS',
            response: response
        }),
        onSupplierDataListFailure: () => dispatch({
            type: 'SUPPLIER_DATA_FAILURE'
        })
    }
};

export default connect(mapStateToProps, mapDispatchToProps)(App);

Я получаю ошибку, Не удалосьнайти «store» в контексте или в «Connect (DataTableContainer)».Либо оберните корневой компонент в поставщике, либо явно передайте «store» в качестве реквизита «Connect (DataTableContainer)».

1 Ответ

0 голосов
/ 11 мая 2019

, чтобы получить доступ к магазину, вам нужно использовать функцию mapStateToProps. Проверьте документы здесь: Connect: извлечение данных с mapStateToProps

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