gpt4 book ai didi

reactjs - React-redux 连接方法无法在 props 中找到存储

转载 作者:行者123 更新时间:2023-12-03 13:16:58 24 4
gpt4 key购买 nike

我有一个主要模仿 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)".

以下是我的应用程序结构:

渲染

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)
};

路由器

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)

这会导致出现上述错误。如您所见,我以与 redux 示例中所示相同的方式传递存储。

最佳答案

解决方案在 redux troubleshooting docs 中找到。我需要让我的 react 路由器返回一个创建实际路由器的函数:

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;

关于reactjs - React-redux 连接方法无法在 props 中找到存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32786359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com