Giter VIP home page Giter VIP logo

m-and-c-in-mvc-talk's People

Contributors

jamesknelson avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

m-and-c-in-mvc-talk's Issues

connected components rendering analysis

Hi James,
I really enjoyed your talk at ReactNext, especially the part about 5 types of state - I think it was spot on. Hoped you enjoyed Israel ๐Ÿ˜Ž

I think there are a few inaccuracies in your analysis of connected components rendering-

Now every mounted connect gets re-rendered on each keypress

This shouldn't happen if you keep your state immutable since Redux will figure out that the state for these components didn't change with a simple shallow equality check and will prevent the rendering of these components using shouldComponentUpdate

Dispatch request for Invoices
Re-render the Invoice connect
Re-render the Inner Container
Oops, there is no data...
Dispatch request for Invoices
...
Profit?

This should also not be a problem since the inner component's componentDidMount (where usually you would place a dispatch call for fetching data) should not be called a second time, as it is already mounted. Furthermore, keeping isFetching and didInvalidate flags in the state tree would be sufficient to avoid any case of double fetching. This technique can be seen in Redux's official docs.

Am I missing something here?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.