Basic theoretical concepts: https://github.com/reactjs/react-basic
Design principles: https://reactjs.org/docs/design-principles.html
ReactDOM terminology: https://reactjs.org/blog/2015/12/18/react-components-elements-and-instances.html
High level description of reconciliation: https://reactjs.org/docs/reconciliation.html
Details on how reconciliation algorithm works: https://github.com/acdlite/react-fiber-architecture
React codebase guide: https://reactjs.org/docs/codebase-overview.html
React reconciler source code: https://github.com/facebook/react/tree/master/packages/react-reconciler
ReactDOM source code: https://github.com/facebook/react/tree/master/packages/react-dom
React Components, refs, context, etc. source code: https://github.com/facebook/react/tree/master/packages/react/src
How to create a custom reconciler: https://medium.com/@agent_hunt/hello-world-custom-react-renderer-9a95b7cd04bc