参考这种编码模式:
import React, { Component } from 'react';
import { connect } from 'react-redux';
import Thing from '../components/Thing';
class ThingContainer extends Component {
render() {
return <Thing {...this.props} />;
}
}
function mapStateToProps(state) {
...
}
export default connect(mapStateToProps)(ThingContainer);
所以它1)导入一个组件(Thing),2)创建另一个组件(技术上不是容器的ThingContainer)类来呈现第一个组件,最后使用connect来最终导出容器。
跳过上面的步骤2有什么不同,只是直接使用导入的组件(Thing)来导出容器?
答案 0 :(得分:3)
是的,该文件看起来有点不必要。 class ThingContainer
组件只会向<Thing>
转发道具,这正是connect
生成的包装器组件所做的。所以,这没用 - 文件只应该export default connect(mapState)(Thing)
,如果没有额外的ThingContainer
定义,它将完全相同。