You can refuse unexpected details by forcing each component to reset all its details.
function ComponentX(props) {
const { p } = props;
return <ComponentY {...props} />;
}
function ComponentY(props) {
return <ComponentZ {...props} />;
}
function ComponentZ(props) {
const { p } = this.props;
return <span>{p}</span>
}
render(
<ComponentX p={true} />,
document.getElementById('app')
);
, , react-redux .
, ( -). , react-redux, .
export default class Provider extends Component {
getChildContext() {
return { store: this.store }
}
constructor(props, context) {
super(props, context)
this.store = props.store
}
render() {
return Children.only(this.props.children)
}
}
, ( ) .
function ComponentX(props, context) {
const { foo } = context.store;
return <div>{foo}</div>;
}
render(
<Provider store={yourStore}>
<ComponentX />
</Provider>,
document.getElementById('app')
);