This document outlines the structure of ReactJS.NET's code internally. If you are just a regular user of ReactJS.NET, you don't have to read it.
Interfaces and Dependency Injection
ReactJS.NET uses TinyIoC for dependency injection. You shouldn't directly reference the concrete implementation of any class unless explicitly extending it. The core ReactJS.NET consists of the following interfaces:
To obtain an implementation of any of these interfaces in your own code, use the dependency resolver:
var environment = React.AssemblyRegistration.Container.Resolve<IReactEnvironment>();
Ideally this should be done as little as possible. Internally, ReactJS.NET code should use constructor injection except at the very root entry points.