ModuleProvider
ModuleProvider creates or attaches a module container and exposes it via React context.
Props Overview
root?: truefactory?: () => DependencyContainercontainer?: DependencyContainerid?: string(owned modes only)providers?: Provider[](owned modes only)onModuleInit?: (container) => void(owned modes only)onModuleMount?: (container) => void(owned modes only)onModuleUnmount?: (container) => void(owned modes only)onModuleDestroy?: (container) => void(owned modes only)children?: ReactNode
Lifecycle Order
For owned module resolutions:
module.onModuleInitproviders.onModuleInit(FIFO)module.onModuleMountproviders.onModuleMount(FIFO)providers.onModuleUnmount(LIFO)module.onModuleUnmountAsyncTeardown.run()ifAsyncTeardownis registeredproviders.onModuleDestroy(LIFO)module.onModuleDestroycontainer.dispose()
Hook Bridge Behavior
onModule* callbacks passed as props are wrapped with stable event handlers internally.
- Identity stays stable for lifecycle engine.
- Closure values stay up to date with current React render state.
Context Access
Inside a module subtree:
useModuleContext()gives{ container, owned, id, rebuild }.useContainer()returns current container.useModuleRebuild()rebuilds current module resolution.