我有容器,例如Home:
function mapStateToProps (state) {
return {...state.home}
}
function mapDispatchToProps(dispatch){
return ....
}
class Home extends React.Component {
constructor (props, context) {
super(props, context);
}
render(){
return (
<div>
<HeaderHome {...this.props.header}/>
...
</div>
)
}
}
Home.contextTypes = {
router: PropTypes.object
}
export default connect(mapStateToProps, mapDispatchToProps)(Home);
注意组件非常简单:
class Header extends React.Component {
render(){
return (
<div className="tp__header-menu">
<Menu />
....
</div>
)
}
}
export default Header;
在标题中,我可以使用从Home传输的{this.props},也可以在Header中使用Menu组件,我不会传输一些道具!
菜单组件:
function mapStateToProps (state) {
return {...state.configuration.menu}
}
function mapDispatchToProps(dispatch){
return ...
}
class Menu extends React.Component {
constructor(props, context){
super(props, context);
}
render(){
return (....)
}
}
Menu.contextTypes = {
router: PropTypes.object
}
export default connect(mapStateToProps, mapDispatchToProps)(Menu);
尽管我没有将道具转移到这个组件,但是在console.log之后,我看到了来自组件的所有道具以及从状态转换为道具的所有道具。为什么?
我想只看到从州(商店)转换为道具的道具