Подтвердить что ты не робот

Метод соединения React-redux не может найти хранилище в реквизитах

У меня есть структура приложения, которая в основном имитирует пример redux real-world, но не может пройти эту ошибку:

Uncaught Error: Invariant Violation: Could not find "store" in either the context or props of "Connect(Home)". Either wrap the root component in a <Provider>, or explicitly pass "store" as a prop to "Connect(Home)".

Здесь следует моя структура приложения:

Render

import { render, createFactory } from 'react'
import { Provider } from 'react-redux';
import router from './router/router'
import store from './flux/store'

window.onload = () => {
    render(createFactory(Provider)({store: store},
        () => router
    ), document.body)
};

Router

import { _ } from 'factories'
import { Router, IndexRoute, Route } from 'react-router'
import history from 'history/lib/createBrowserHistory'

import Home from '../components/home/home'

let route = _(Route),
    index = _(IndexRoute);

let router = _(Router)({history: history()},
    route({path: 'home', component: Home})
);

export default router;

Домашний компонент

import React, { PropTypes } from 'react'
import { div } from 'factories'
import { connect } from 'react-redux'
import { bindActionCreators } from 'redux';
import * as users from '../../flux/actions/users'

class Home extends React.Component {

    constructor() {

        super();

        this.state = {}
    }

    componentWillMount() {
        console.log(this.props.users.user)
    }

    componentWillUnmount() {

    }

    render() {

        return (
            div({}, "Home")
        )
    }
}

export default connect(
    state => {
        return {
            users: state.users
        }
    },
    dispatch => bindActionCreators(users, dispatch)
)(Home)

Это приводит к получению вышеупомянутой ошибки. как вы можете видеть, я передаю хранилище так же, как показано в примере сокращения.

4b9b3361

Ответ 1

Решение было найдено в документах по устранению неполадок с сокращением. Мне нужно, чтобы мой реактор-маршрутизатор возвратил функцию, которая создала фактический маршрутизатор:

import { _ } from 'factories'
import { Router, IndexRoute, Route } from 'react-router'
import history from 'history/lib/createBrowserHistory'

import Home from '../components/home/home'

let route = _(Route),
    index = _(IndexRoute);

const router = () =>
    _(Router)({history: history()},
        route({path: 'home', component: Home})
    );
export default router;