Hi all. I've been reading to get caught up, so if what I say sounds strange it's probably because I haven't quite succeeded. Here goes:
TL;DR - DOM manipulation via jQuery is not needed. If we follow the React design pattern all DOM-related stuff, including the state of the DOM elements, can and should be coded and stored in Javascript. It will lead to both an easier to understand and more performant framework.
Long version - Every React component provides a render function that generates the HTML fresh when it is called. These Render functions make the calls that construct the child elements of the component on the fly, and typically contain decision logic that determines which children, if any, are constructed. Best practices in Render is to have a single root component (the Scene in our world) who's render function creates the next level down, which in turn creates the next level down, and so on generating a very dynamic HTML representation of the DOM. This is a powerful approach. Routing, for example, is handled by an easy-to-read switch/case structure in the root component's render function.
The HTML that is generated is not sent to the browser for rendering. Instead, the React engine compares compares the most recent HTML with the last generated HTML to identify differences. These differences are sent to the browser as DOM-manipulation calls. I believe the React system runs all the HTML-generating Components in web workers so that only the DOM and DOM manipulation logic runs the main thread. This is what makes React so performant.
The React system provides all the DOM event callbacks as javascript-wrapped as component methods. The developer is responsible for updating the state of the component. I find this both a little tedious and very useful, since it puts into the code what should be happening with the class. State updates trigger re-rendering of the sub-tree, which seems like a lot of overhead but does not result in any appreciable lag. React is either very smart about caching objects or their construction processes are minimal.
So the bottom line isn't that I want to integrate Infamous with the React framework, though that might be a very smart idea to be discussed in another thread. I'm proposing that we follow the React pattern and keep all state information local in the developer's code. After two weeks of getting up to speed on React I don't see any advantage to providing DOM query or manipulation at all.