-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Open
Labels
area-blazorIncludes: Blazor, Razor ComponentsIncludes: Blazor, Razor Components
Milestone
Description
When we initialize components (specially in Blazor Server) we have since 8.0 three different ways in which components get initialized.
- First through
ComponentHub.Startfor oldblazor.server.js. - Second through
UpdateRootComponentsbyblazor.web.js. - Third through JS Root components via
CircuitJSComponentInterop.cs.
This is problematic because it creates slight variations of our initialization logic that manifest themselves in bugs that are hard to track.
We should consider standarizing on UpdateRootComponents since that's the model Blazor Web uses. This would involve:
- Update
blazor.server.jsto go through UpdateRootComponents (same as blazor.web.js).- This would mean we could get rid of the old
blazor.server.jsinitialization code, as it would be handled byblazor.web.js.
- This would mean we could get rid of the old
- Update JS root components to also go through
UpdateRootComponents.- We would get rid of the JS interop associated with this functionality as it would be subsumed by UpdateRootComponents.
- We would likely require expanding the RootComponentDescriptors to accept creating components with "client descriptors" which would be subject to the same restrictions JS Root Components have today.
- We would get rid of the JS interop associated with this functionality as it would be subsumed by UpdateRootComponents.
Metadata
Metadata
Assignees
Labels
area-blazorIncludes: Blazor, Razor ComponentsIncludes: Blazor, Razor Components