尝试从react-redux使用connect()函数时,我收到以下错误:
Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
Check the render method of `App`.
这是应用程序:
import { Provider } from 'react-redux';
import configureStore from './store';
const App = class extends React.PureComponent {
render() {
const { title } = this.context;
return (
<div className="center-screen">
{title}
<Provider store={configureStore()}>
<Chat />
</Provider>
</div>
);
}
};
这是聊天的相关代码结尾:
import { connect } from 'react-redux';
...
const mapStateToProps = state => ({
...state
});
const mapDispatchToProps = dispatch => ({
addMessage: () => dispatch(addMessage)
});
export default connect(
mapStateToProps,mapDispatchToProps
)(Chat);
使用:“ export default Chat”代替connect时,它工作正常.
最佳答案
尝试这个:
const ConnectedChat = connect(
mapStateToProps,mapDispatchToProps
)(Chat);
export default ConnectedChat;
或者,您可能希望将类定义重命名为ConnectedChat并反转名称,以便可以将其导入为“聊天”.
编辑:还要确保将聊天组件导入到App文件中,如果没有,请导入addMessage操作创建者.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。