У меня есть контейнер, например, 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;
В заголовке я могу использовать {this.props}который передан из Home, также в 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 я вижу все реквизиты из компонента и все реквизиты, которые преобразуются из состояния в реквизиты.Зачем?
Я хочу видеть только реквизиты, которые преобразуются в реквизиты из состояния (магазина)