Using context and childContext in React
React has something called as Child contexts
that allows a parent element to specify a context – aka a set of properties – which can be accessed from all of its children and grandchildren via the this.context
object.
There are 2 aspects to how you would go about implementing this in your code.
- In the parent, the getChildContext method is used to return an object that is passed own as the child context. The prop types of all the keys in this object must also be defined in the
childContextTypes
property of the parent. - Any child that needs to consume the properties passed down from its parents must whitelist the properties it wants to access via the `contextTypes’ property.
Here’s an example of how this works
One may argue that this makes the code a bit more verbose, because now you end up creating an additional key contextTypes
on every child component. However, the reality is that you can specify the `contextTypes’ property on a mixin. That way you can avoid rewriting the whitelisting boilerplate code by simply using the mixin on all the child components that need to access those properties from its context.
there a mistake at line 24? return { name: “I am the parent” }; instead of return { bar: “I am the parent” };
Updated! Thanks for letting me know.
Shouldn’t line 24 read: return { bar: “I am the parent” };
Awesome, thanks!