4 ms·
> you don't have to pass data as props all the way from the top of your app to the bottom Quick note, you can accomplish this directly using the "context" feat
by rand_r 9y ago
> you don't have to pass data as props all the way from the top of your app to the bottom
Quick note, you can accomplish this directly using the "context" feature of React, which is what Redux uses under the hood anyway.
https://facebook.github.io/react/docs/context.html https://facebook.github.io/react/docs/context.html
- acemarke 9y agoYeah, I was keeping the explanation shorter. The React docs generally advise that apps try not to use context directly, as the API has limitations, and _will_ change in some future React release once they figure out a better approach. The main issue is that context updates are blocked if a component returns `false` from `shouldComponentUpdate` (and the same for a PureComponent). As a result, context is best suited for references that won't change, such as pubsub event emitters. Michel Weststrate's post "How to safely use React context" [0] is excellent, and Ken Wheeler just gave a good talk about context at React Boston [1]. [0] https://medium.com/@mweststrate/how-to-safely-use-react-context-b7e343eff076 https://medium.com/@mweststrate/how-to-safely-use-react-cont... [1] http://reactboston.surge.sh/#/ http://reactboston.surge.sh/#/
- worldsayshi 9y agoAs someone who went from using context to using redux, you can really shoot yourself in the foot with contexts. With redux we can breath again. Contexts is useful for anything that rarely changes. Like callbacks. But if you want to send down stateful things it will quickly become a mess for complex apps.