Re:How to Structure React Projects
by phaedryx on Sunday November 29, 2015 @01:08PM
(#10645439)
How is a "component" different from a "view"?
[ Parent
| on HN ]
Per my understanding, a component is meant to be a re-usable unit which can be included in one or more views. A View can be thought as a single 'page' of the application, (eg: Login, Home, etc) which may be composed of several components.
One common interpretation:
Components are "dumb", and just consume props. Views are top level Components, usually rendered by the router, that tie into your fluxy goodness.
Re:How to Structure React Projects
by jayvanguard on Sunday November 29, 2015 @01:48PM
(#10645554)
A component is is meant to be re-used in different contexts, a view not necessarily.
A view is made up of many components.
While the “views are many components” reply is true that’s not really the distinction. Views are React components that have state or other complexity to them. Components are React components that just consume props and return DOM that may reference those props but nothing else in your app (they won't look at state, globals, etc.)
Most of your components should be made up of smaller components. I'm not sure why this distinction is useful?
I see view (or screen) as something that maps to a route. It's true it's definitely a component.
I feel adding vocabulary like this to a system can help with understandability. That's the point I made with a "feature". It's something that could fit between views and components.
Atomic design (http://patternlab.io/) is close to this idea.