GithubHelp home page GithubHelp logo

mridgway / react Goto Github PK

View Code? Open in Web Editor NEW

This project forked from facebook/react

0.0 0.0 0.0 62.81 MB

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

Home Page: http://facebook.github.io/react/

License: Other

JavaScript 97.06% HTML 0.97% CSS 0.11% PHP 0.13% Ruby 0.06% Shell 0.03% CoffeeScript 0.72% TypeScript 0.93%

react's People

Contributors

andreypopp avatar arkist avatar benjamn avatar chenglou avatar chicoxyzzy avatar cpojer avatar daniel15 avatar fabiomcosta avatar fisherwebdev avatar fxxkscript avatar jgebhardt avatar jimfb avatar jordwalke avatar joshduck avatar kassens avatar kmeht avatar leebyron avatar marocchino avatar mcsheffrey avatar mroch avatar petehunt avatar rreverser avatar sebmarkbage avatar sophiebits avatar subtlegradient avatar syranide avatar vjeux avatar waldreiter avatar yungsters avatar zpao avatar

Watchers

 avatar  avatar

react's Issues

Move component recursion to ReactReconciler

See facebook/react@master...mridgway:reconcilerRecursion for progress.

This PR involves removing ReactReconciler calls and still maintain event queue orders for React*Component. From my analysis these are the spots that need to be addressed:

ReactCompositeComponent

mountComponent

Mount queue: componentDidMount (post-recursion)

  • hoist ReactReconciler calls
  • Add postMount interface to handle post-recursion

receiveComponent

Mount queue: componentDidUpdate (post-recursion)

  • hoist ReactReconciler calls
  • Add postUpdate interface to handle post-recursion

unmountComponent

  • hoist ReactReconciler calls

ReactDOMComponent

mountComponent

Mount queue: trapBubbledEventsLocal (pre-recursion), putListener (pre-recursion), focusDOMComponent (post-recursion)

  • hoist ReactReconciler calls
  • Add postMount interface to handle post-recursion

receiveComponent

Mount queue: putListener (pre-recursion), postUpdateSelectWrapper (post-recursion)

  • hoist ReactReconciler calls
  • Add postUpdate interface to handle post-recursion

unmountComponent

  • hoist ReactReconciler calls

ReactReconciler

Also, ReactDOMComponent uses DomLazyTree objects that the reconciler would need to recognize. In order to keep ReactReconciler decoupled, there will need to be a generic interface for trees and a plugin for handling DomLazyTree specifically.

mountComponent

  • implement recursion
  • attachRefs queue (pre: must be before other queued methods)
  • implement generic LazyTree injection
  • call postMount on React*Component for implementing post-recursion event queueing

receiveComponent

  • implement recursion
  • call postUpdate on React*Component for implementing post-recursion event queueing

unmountComponent

  • implement recursion
  • call postUnmount for implementing post-recursion event removal

Testing

  • Fix tests that are affected by internal API changes

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.