redux中的
我在react应用程序中使用react-cookies
和react-redux
,并试图组合它们,但当我这样做时,我收到了以下错误:
必须将组件传递给connect返回的函数。相反已接收{}
下面是我的代码:
//index.js
ReactDOM.render(
<CookiesProvider>
<Provider store={store}>
<ConnectedRouter history={history}>
<App />
</ConnectedRouter>
</Provider>
</CookiesProvider>,
document.querySelector("#root") //Id root at index.html
);
//App.js
class App extends Component {
componentDidMount() {
this.props.fetchUser();
}
render() {
return (
<div>
<BrowserRouter>
<div className="container">
<Route exact path="/" render={() => (<Login cookies={this.props.cookies}/>)} />
<Route exact path="/surveys" render={() => (<Landing cookies={this.props.cookies}/>)} />
<Route exact path="/login" component={Landing} />
<Route exact path="/surveys/new" component={SurveyNew} />
</div>
</BrowserRouter>
</div>
);
}
}
export default connect(
null,
actions
)(withCookies(App));
connect
函数期望得到react组件作为参数,但withCookies
可能返回不同的值。
因此,请按以下方式更改导出函数并尝试。
export default withCookies(connect(null, actions)(App));