Add Effect v4 support, Fast Refresh tooling, and revamped docs #56
@@ -46,11 +46,6 @@ export namespace Provider {
|
||||
export const Provider = <R, ER>(
|
||||
{ runtime, children, ...suspenseProps }: Provider.Props<R, ER>
|
||||
): React.ReactNode => {
|
||||
Effect.runSync(Component.useOnChange(
|
||||
() => Effect.addFinalizer(() => runtime.runtime.disposeEffect),
|
||||
[runtime],
|
||||
))
|
||||
|
||||
const promise = React.useMemo(() => runtime.runtime.context(), [runtime])
|
||||
|
||||
return React.createElement(
|
||||
@@ -66,4 +61,12 @@ const ProviderInner = <R, ER>(
|
||||
readonly promise: Promise<Context.Context<R>>
|
||||
readonly children?: React.ReactNode
|
||||
}
|
||||
): React.ReactNode => React.createElement(runtime.context, { value: React.use(promise) }, children)
|
||||
): React.ReactNode => {
|
||||
const context = React.use(promise)
|
||||
Effect.runSyncWith(context)(Component.useOnChange(
|
||||
() => Effect.addFinalizer(() => runtime.runtime.disposeEffect),
|
||||
[runtime],
|
||||
))
|
||||
|
||||
return React.createElement(runtime.context, { value: context }, children)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user