@reffuse/extension-query 0.1.5 #16

Merged
Thilawyn merged 347 commits from next into master 2025-06-01 05:28:47 +02:00
2 changed files with 18 additions and 4 deletions
Showing only changes of commit 5f5ef5614b - Show all commits

View File

@@ -26,7 +26,7 @@ function RouteComponent() {
const aRef = R.useRef("a value")
const anotherRef = R.useRef(69)
const res = R.useRefsState({ aRef, anotherRef })
const res = R.useSubscribeRefs(aRef, anotherRef)
const [reactValue, setReactValue] = useState("initial")
@@ -46,9 +46,9 @@ function RouteComponent() {
return (
<Flex direction="row" justify="center" align="center" gap="2">
<R.RefState ref={aRef}>
{([aValue]) => <Text>{aValue}</Text>}
</R.RefState>
<R.SubscribeRefs refs={[aRef, anotherRef]}>
{(aValue, anotherRef) => <Text>{aValue} / {anotherRef}</Text>}
</R.SubscribeRefs>
<Button onClick={() => logValue("test")}>Log value</Button>
<Button onClick={() => generateUuid()}>Generate UUID</Button>

View File

@@ -19,6 +19,7 @@ export abstract class ReffuseHelpers<R> {
declare ["constructor"]: ReffuseHelpersClass<R>
constructor() {
this.SubscribeRefs = this.SubscribeRefs.bind(this as any) as any
this.RefState = this.RefState.bind(this as any) as any
}
@@ -448,6 +449,19 @@ export abstract class ReffuseHelpers<R> {
}
SubscribeRefs<
const Refs extends readonly SubscriptionRef.SubscriptionRef<any>[],
R,
>(
this: ReffuseHelpers<R>,
props: {
readonly refs: Refs
readonly children: (...args: [...{ [K in keyof Refs]: Effect.Effect.Success<Refs[K]> }]) => React.ReactNode
},
): React.ReactNode {
return props.children(...this.useSubscribeRefs(...props.refs))
}
RefState<A, R>(
this: ReffuseHelpers<R>,
props: {