👨‍💻
Community Resources
  • Welcome!!
  • Blockchain Resources
  • Web Development
  • A to Z Resources
  • Best GitHub Repos
  • MEAN & MERN Stack
  • React, Redux and ES6
    • basic-concepts
    • boilerplates-and-starter-kits
    • community-resources
    • es6-features
    • flux-tutorials
    • functional-programming
    • git-resources
    • immutable-data
    • javascript-resources
    • node-js-and-npm
    • pros-cons-discussion
    • react-performance
    • react-redux-architecture
    • react-redux-testing
    • react-styling
    • react-tutorials
    • react-vs-backbone
    • redux-side-effects
    • redux-techniques
    • redux-tutorials
    • thinking-in-react-and-flux
    • tips-and-best-practices
    • using-react-with-es6
    • webpack-advanced-techniques
    • webpack-tutorials
  • NodeJS
  • React Native
  • Mixed PDFs
  • AI/ML/DL
Powered by GitBook
On this page
  • React Component Lifecycle
  • React Component Management
  • React and AJAX
  • React and Forms
  • Project File Structure
  • Redux Architecture

Was this helpful?

  1. React, Redux and ES6

react-redux-architecture

Previousreact-performanceNextreact-redux-testing

Last updated 4 years ago

Was this helpful?

React Component Lifecycle

  • React Docs: Component Specs and Lifecycle The official React docs page on component lifecycle

  • Understanding the React Component Lifecycle A good look at which lifecycle methods run in which situations, as well as the signatures of each method.

  • Dissecting React Lifecycle Methods Breaks the lifecycle methods down into "mount/unmount" and "update" categories, and describes the purpose and use of each.

  • The React Component Lifecycle Another useful description of the order and purpose of the lifecycle methods.

  • React In-Depth: The React Life Cycle A deep dive into the lifecycle methods, and various techniques for using them.

React Component Management

  • Presentational and Container Components Dan Abramov's foundational article on classifying components based on intent and behavior. A must-read for anyone using React.

  • Mixins Are Dead. Long Live Composition A look at some of the issues with using mixins, and reasons why higher-order components are (usually) an improvement.

  • How to use Classes and Sleep at Night Some pragmatic opinions on when and how to use the ES6 "class" keyword, particularly in relation to React components.

  • Higher Order Components: Theory and Practice Gives practical use cases for HOCs, such as authentication, routing, and data management, with samples.

  • Sharing and Testing Code in React with Higher Order Components Demonstrates extracting HOCs from existing code, and testing them.

  • React Higher Order Components in depth A very detailed article looking at some advanced HoC patterns

  • 8 no-Flux strategies for React component communication Very helpful list of ways to have React components communicate back and forth

  • How to communicate between React components Another good list of component communication strategies

  • How to Write a Google Maps React Component Demonstrates how to wrap a third-party component that has an imperative API, lazy-loading the dependencies, and more.

  • Building SVG Maps with React Demonstrates building a component that zooms and pans SVG graphics based on user input.

  • How to Sprinkle ReactJS into an Existing Web Application Looks at how to incrementally add some React-based functionality into an existing app.

  • Leveling Up with React: Container Components Describes the container component pattern and how to use it to split up responsibilities between fetching and displaying data.

  • Finding state's place with React and Redux A look at when and how using React component state may be useful, even when using Redux for primary app state

  • Dataflow through React An online book that covers a number of topics on React components and data flow.

  • A case for setState An article arguing that React component state still has a number of uses.

  • Smart and Dumb Components in React Another look at ways to conceptually categorize components based on responsibilities, and some ways you can organize your code based on those concepts.

  • Functional Components vs. Stateless Functional Components vs. Stateless Components Clarifies the meaning of the terms, which are often used in overlapping ways.

  • React Component Jargon as of August 2016 A very useful glossary of widely-used terms describing React components

  • Dynamically Rendering React Components Examples of how to dynamically determine which React component to render

  • Higher Order Components: A React Application Design Pattern 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.

  • The React Controller View Pattern Describes using top-level components to hold state and pass it to children as props

  • Functional React Serie - Part 1: Get your App outta my Component Part 1 in a series about writing React applications by treating components as functions, not templates.

  • How to handle state in React: The Missing FAQ An article that dispels misunderstandings and answers common questions about how to handle state in React.

  • Where to Hold React Component Data: state, store, static, and this A great summary of different places to store state, and when and why you should use each.

  • Function as Child Components Explains the "function as a child" technique as an alternative to Higher Order Components

React and AJAX

React and Forms

(Note: the "linked state mixin" and "two-way binding" approaches described in some of these articles are still valid, but mostly discouraged at this point. The more idiomatic approach is "one-way data flow" with "controlled inputs".)

Project File Structure

Redux Architecture

React AJAX Best Practices Covers four ways to approach managing queries and data fetching.

AJAX/HTTP Library Comparison A useful overview of the most popular AJAX libraries, including platform support and feature comparisons.

Implementing React Redux with GraphQL Walks through the implementation of a server/client Todo app that uses GraphQL mutations for the async actions.

Rendering Backend Requests with React Describes a pattern for dealing with components that depend on loading data from a backend

Build a React + Flux App with User Authentication Builds a React app that calls a remote API and authenticates users. Uses a specific auth provider and basic Flux implementation, but the concepts are widely applicable.

Building Realtime Collaborative Offline-First Apps with React, Redux, PouchDB, and Websockets A blog post and sample project demonstrating various layers of client-server syncing, eventually driving a Redux store and React UI.

React Docs: Forms The React documentation page on forms. Describes "controlled" and "uncontrolled" form inputs.

Learn Raw React: Ridiculously Simple Forms Covers the basics of implementing form rendering, updates, and validation, in plain JS

Forms in React and Redux Demonstrates building a simple set of wrapper components to manage forms using React and Redux

Form Validation Tutorial with React.js A good example of setting up form validation in React

Not-so-simple Forms with React Explains how to set up more advanced form scenarios such as optional or repeatable sections.

Managing state and controlled form fields with React Describes the concepts of "controlled" and "uncontrolled" inputs.

Two-Way Data Binding and Form Validation in React Another demonstration of building a form with some logic and validation.

Using React's state to manage data entry Describes how to manage data for forms using React component state and some wrapper components.

Handling React Forms with Mobx Observables Some examples of working with forms in React, using MobX for the data management.

Forms in React and Redux A good example of how to set up form handling in conjunction with a Redux store.

React Form Components A look at controlled vs uncontrolled inputs, with a useful note about issues with controlled inputs and certain browsers.

React "controlled" vs "uncontrolled" inputs An explanation of the terms "controlled inputs" and "uncontrolled inputs"

Uncontrolled components are an anti-pattern Argues that uncontrolled components are a bad idea and should be avoided.

ReactJS and controlled forms A look at the difference between controlled and uncontrolled inputs, and some problems that can come from using uncontrolled inputs.

Managing React Controlled Component State Some short examples of how to properly manage state for controlled inputs

Scaling React.js Applications Talk about managing large react.js applications. Covers "Feature" structure, redux-saga and CSS modules.

Organizing Large React Applications Describes "File-Type First", "Feature First / Pods" approaches, as well as other related structure issues.

Four Strategies for Organizing Code Describes "by component", "by toolbox", "by layer", and "by kind" approaches.

Rules for Structuring (Redux) Applications Gives several useful rules for structuring code, with examples.

A Better File Structure for React/Redux Applications Suggests a domain-based structure, with tests kept alongside the code they relate to.

Route-Based Folder Structure Ryan Florence, an author of React Router, gives his suggested file structure.

How to Better Organize Your React Applications? Another feature-style approach, describing things in terms of "components", "scenes", and "services".

Fractal Project Structure Docs from the React Redux Starter Kit project describing their "Fractal Project Structure" concept, and advice for file and app organization.

Reddit: "Redux - Reducer composition without slicing state?" Some very informative discussion on how to organize reducers and actions.

Wordpress Calypso: Our Approach to Data The team behind Wordpress's new admin panel looks at their migration from emitters to Flux to Redux, and describes how they organize their state tree, use selectors to extract state, run queries with components, and persist their store state through refreshes.

So you've screwed up your Redux store - or, why Redux makes refactoring easy Describes some useful practices for organizing Redux actions, reducers, and selectors.

How we reduced boilerplate and handled asynchronous actions with Redux A look at conventions that have helped the Algolia team write Redux apps.

https://facebook.github.io/react/docs/component-specs.html
http://busypeoples.github.io/post/react-component-lifecycle/
https://medium.com/@fay_jai/dissecting-reactjs-lifecycle-methods-be4fdea11c6d
https://www.kirupa.com/react/component_lifecycle.htm
https://developmentarc.gitbooks.io/react-indepth/content/
https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0
https://medium.com/@dan_abramov/mixins-are-dead-long-live-higher-order-components-94a0d2f9e750
https://medium.com/@dan_abramov/how-to-use-classes-and-sleep-at-night-9af8de78ccb4
http://engineering.blogfoster.com/higher-order-components-theory-and-practice/
http://blog.carbonfive.com/2016/02/02/sharing-and-testing-code-in-react-with-higher-order-components/
https://medium.com/@franleplant/react-higher-order-components-in-depth-cf9032ee6c3e
http://andrewhfarmer.com/component-communication/
http://ctheu.com/2015/02/12/how-to-communicate-between-react-components/
https://www.fullstackreact.com/articles/how-to-write-a-google-maps-react-component/
https://blog.komand.com/building-svg-maps-with-react
https://scotch.io/tutorials/how-to-sprinkle-reactjs-into-an-existing-web-application
https://css-tricks.com/learning-react-container-components/
https://medium.com/@adamrackis/finding-state-s-place-with-react-and-redux-e9a586630172
https://jurassix.gitbooks.io/dataflow-through-react/content/index.html
https://medium.com/@zackargyle/a-case-for-setstate-1f1c47cd3f73
http://jaketrent.com/post/smart-dumb-components-react/
https://tylermcginnis.com/functional-components-vs-stateless-functional-components-vs-stateless-components-630fdfd90c9c
https://medium.com/@arcomito/react-component-jargon-as-of-august-2016-28451d8ceb1d
https://wail.es/dynamically-rendering-react-components/
https://www.sitepoint.com/react-higher-order-components/
http://blog.andrewray.me/the-reactjs-controller-view-pattern/
https://medium.com/@adamterlson/functional-react-series-part-1-get-your-app-outta-my-component-92656ae13e25
https://medium.com/react-ecosystem/how-to-handle-state-in-react-6f2d3cd73a0c
https://medium.freecodecamp.com/where-do-i-belong-a-guide-to-saving-react-component-data-in-state-store-static-and-this-c49b335e2a00
https://medium.com/merrickchristensen/function-as-child-components-5f3920a9ace9
http://andrewhfarmer.com/react-ajax-best-practices/
http://andrewhfarmer.com/ajax-libraries/
https://marufsarker.github.io/blog/posts/2016/05/09/react-redux-with-graphql.html
https://blog.boldlisting.com/rendering-backend-requests-with-react-7e493103c2b6
https://scotch.io/tutorials/build-a-react-flux-app-with-user-authentication
http://blog.yld.io/2015/11/30/building-realtime-collaborative-offline-first-apps-with-react-redux-pouchdb-and-web-sockets/
https://facebook.github.io/react/docs/forms.html
http://jamesknelson.com/learn-raw-react-ridiculously-simple-forms/
http://x-team.com/2016/02/tutorial-forms-in-react-and-redux/
https://html5hive.org/reactjs-form-validation-tutorial/
http://www.randseay.com/articles/forms-with-react/
https://blog.iansinnott.com/managing-state-and-controlled-form-fields-with-react/
https://medium.com/@thejenniekim/two-way-data-binding-and-form-validation-in-react-9d0b15123176
https://medium.com/@adamrackis/using-reacts-state-to-manage-data-entry-ed92e4fd1a42
https://blog.risingstack.com/handling-react-forms-with-mobx-observables/
http://x-team.com/2016/02/tutorial-forms-in-react-and-redux/
http://donavon.js.org/react-forms/
https://gist.github.com/markerikson/d71cfc81687f11609d2559e8daee10cc
https://medium.com/@jedwards8/uncontrolled-components-are-an-anti-pattern-abbdd86fd39e
http://leftdevel.com/blog/reactjs-controlled-forms/
http://spraso.com/managing-react-controlled-component-state/
https://vimeo.com/168648012
http://engineering.kapost.com/2016/01/organizing-large-react-applications/
https://medium.com/@msandin/strategies-for-organizing-code-2c9d690b6f33
http://jaysoo.ca/2016/02/28/organizing-redux-application/
http://marmelab.com/blog/2015/12/17/react-directory-structure.html
https://gist.github.com/ryanflorence/daafb1e3cb8ad740b346
https://medium.com/@alexmngn/how-to-better-organize-your-react-applications-2fd3ea1920f1
https://github.com/davezuko/react-redux-starter-kit/wiki/Fractal-Project-Structure
https://www.reddit.com/r/javascript/comments/42ey9e/redux_reducer_composition_without_slicing_state/
https://github.com/Automattic/wp-calypso/blob/master/docs/our-approach-to-data.md
https://blog.boldlisting.com/so-youve-screwed-up-your-redux-store-or-why-redux-makes-refactoring-easy-400e19606c71
https://blog.algolia.com/how-we-reduced-boilerplate-and-handled-asynchronous-actions-with-redux/