|
| 1 | +### React Component Patterns |
| 2 | + |
| 3 | +#### Terms and Concepts |
| 4 | + |
| 5 | +- **React Patterns** |
| 6 | + http://reactpatterns.com/ |
| 7 | + An excellent list of common patterns for structuring React components, with examples |
| 8 | + |
| 9 | +- **React Component Jargon as of August 2016** |
| 10 | + https://medium.com/@arcomito/react-component-jargon-as-of-august-2016-28451d8ceb1d |
| 11 | + A very useful glossary of widely-used terms describing React components |
| 12 | + |
| 13 | +- **Functional Components vs. Stateless Functional Components vs. Stateless Components** |
| 14 | + https://tylermcginnis.com/functional-components-vs-stateless-functional-components-vs-stateless-components-630fdfd90c9c |
| 15 | + Clarifies the meaning of the terms, which are often used in overlapping ways. |
| 16 | + |
| 17 | +- **How to use Classes and Sleep at Night** |
| 18 | + https://medium.com/@dan_abramov/how-to-use-classes-and-sleep-at-night-9af8de78ccb4 |
| 19 | + Some pragmatic opinions on when and how to use the ES6 "class" keyword, particularly in relation to React components. |
| 20 | + |
| 21 | + |
| 22 | +#### Component Categories |
| 23 | + |
| 24 | +- **Presentational and Container Components** |
| 25 | + https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0 |
| 26 | + Dan Abramov's foundational article on classifying components based on intent and behavior. A must-read for anyone using React. |
| 27 | + |
| 28 | +- **Leveling Up with React: Container Components** |
| 29 | + https://css-tricks.com/learning-react-container-components/ |
| 30 | + Describes the container component pattern and how to use it to split up responsibilities between fetching and displaying data. |
| 31 | + |
| 32 | +- **Smart and Dumb Components in React** |
| 33 | + http://jaketrent.com/post/smart-dumb-components-react/ |
| 34 | + Another look at ways to conceptually categorize components based on responsibilities, and some ways you can organize your code based on those concepts. |
| 35 | + |
| 36 | +- **Ramblings About React and Redux Architecture** |
| 37 | + https://medium.com/@kurtiskemple/ramblings-about-react-and-redux-architecture-c27dfff79ddf |
| 38 | + Thoughts on structuring components as "Providers", "Behavior", and "Presentational" |
| 39 | + |
| 40 | +- **The Anatomy of a React Redux App** |
| 41 | + https://medium.com/@rajaraodv/the-anatomy-of-a-react-redux-app-759282368c5a |
| 42 | + Breaks down the component structure of a typical React/Redux app, and classifies the different types of components that usually show up |
| 43 | + |
| 44 | + |
| 45 | +#### Higher-Order Components |
| 46 | + |
| 47 | +- **Mixins Are Dead. Long Live Composition** |
| 48 | + https://medium.com/@dan_abramov/mixins-are-dead-long-live-higher-order-components-94a0d2f9e750 |
| 49 | + A look at some of the issues with using mixins, and reasons why higher-order components are (usually) an improvement. |
| 50 | + |
| 51 | +- **Higher Order Components: Theory and Practice** |
| 52 | + http://engineering.blogfoster.com/higher-order-components-theory-and-practice/ |
| 53 | + Gives practical use cases for HOCs, such as authentication, routing, and data management, with samples. |
| 54 | + |
| 55 | +- **Sharing and Testing Code in React with Higher Order Components** |
| 56 | + http://blog.carbonfive.com/2016/02/02/sharing-and-testing-code-in-react-with-higher-order-components/ |
| 57 | + Demonstrates extracting HOCs from existing code, and testing them. |
| 58 | + |
| 59 | +- **Higher Order React Components** |
| 60 | + http://natpryce.com/articles/000814.html |
| 61 | + A solid explanation of what HoCs are, with examples and use cases |
| 62 | + |
| 63 | +- **Higher Order Components: A React Application Design Pattern** |
| 64 | + https://www.sitepoint.com/react-higher-order-components/ |
| 65 | + A discussion of how to use Higher Order Components to keep your React applications tidy, well structured and easy to maintain. Also, how pure functions keep code clean and how these same principles can be applied to React components. |
| 66 | + |
| 67 | +- **Connected Higher Order Components with React and Redux** |
| 68 | + http://www.avitzurel.com/blog/2016/08/03/connected-higher-order-components-with-react-and-redux/ |
| 69 | + Demonstrates creating HoCs that are connected to Redux |
| 70 | + |
| 71 | +- **React, Higher Order Components, and Legacy Applications** |
| 72 | + http://browniefed.com/blog/react/ |
| 73 | + Examples of how to integrate React into an existing application using HoCs |
| 74 | + |
| 75 | +- **React Higher Order Components in depth** |
| 76 | + https://medium.com/@franleplant/react-higher-order-components-in-depth-cf9032ee6c3e |
| 77 | + A very detailed article looking at some advanced HoC patterns |
| 78 | + |
| 79 | + |
| 80 | +#### Other Component Patterns |
| 81 | + |
| 82 | +- **Dynamically Rendering React Components** |
| 83 | + https://wail.es/dynamically-rendering-react-components/ |
| 84 | + Examples of how to dynamically determine which React component to render |
| 85 | + |
| 86 | +- **The React Controller View Pattern** |
| 87 | + http://blog.andrewray.me/the-reactjs-controller-view-pattern/ |
| 88 | + Describes using top-level components to hold state and pass it to children as props |
| 89 | + |
| 90 | +- **Function as Child Components** |
| 91 | + https://medium.com/merrickchristensen/function-as-child-components-5f3920a9ace9 |
| 92 | + Explains the "function as a child" technique as an alternative to Higher Order Components |
| 93 | + |
| 94 | +- **Functional React Series - Part 1: Get your App outta my Component** |
| 95 | + https://medium.com/@adamterlson/functional-react-series-part-1-get-your-app-outta-my-component-92656ae13e25 |
| 96 | + Part 1 in a series about writing React applications by treating components as functions, not templates. |
0 commit comments