我有一个应用程序结构,主要模仿redux 真实世界的例子,但无法得到这个错误:
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)".
以下是我的应用程序结构:
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)
};
Run Code Online (Sandbox Code Playgroud)
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;
Run Code Online (Sandbox Code Playgroud)
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)
Run Code Online (Sandbox Code Playgroud)
这导致得到上述错误.正如您所看到的那样,我以与redux示例中所示相同的方式传递商店.
该解决方案在redux故障排除文档中找到.我需要让react-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);
const router = () =>
_(Router)({history: history()},
route({path: 'home', component: Home})
);
export default router;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8124 次 |
| 最近记录: |