0.1.0 #1
@@ -10,7 +10,7 @@ export class ReffuseContext<R> {
|
|||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.Provider = (props) => {
|
this.Provider = (props) => {
|
||||||
const runtime = ReffuseRuntime.use()
|
const runtime = ReffuseRuntime.useRuntime()
|
||||||
|
|
||||||
const value = React.useMemo(() => Effect.context<R>().pipe(
|
const value = React.useMemo(() => Effect.context<R>().pipe(
|
||||||
Effect.provide(props.layer),
|
Effect.provide(props.layer),
|
||||||
@@ -28,12 +28,12 @@ export class ReffuseContext<R> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
use(): Context.Context<R> {
|
useContext(): Context.Context<R> {
|
||||||
return React.useContext(this.Context)
|
return React.useContext(this.Context)
|
||||||
}
|
}
|
||||||
|
|
||||||
useLayer(): Layer.Layer<R> {
|
useLayer(): Layer.Layer<R> {
|
||||||
const context = this.use()
|
const context = this.useContext()
|
||||||
return React.useMemo(() => Layer.effectContext(Effect.succeed(context)), [context])
|
return React.useMemo(() => Layer.effectContext(Effect.succeed(context)), [context])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,4 +12,4 @@ export const Provider = (props: { readonly children?: React.ReactNode }) => (
|
|||||||
)
|
)
|
||||||
Provider.displayName = "ReffuseRuntimeReactProvider"
|
Provider.displayName = "ReffuseRuntimeReactProvider"
|
||||||
|
|
||||||
export const use = () => React.useContext(Context)
|
export const useRuntime = () => React.useContext(Context)
|
||||||
|
|||||||
Reference in New Issue
Block a user