Fix stale inputs reference (#92)

* Add `onMount` to Renderer to share inputs

* Removes brush updater

* Update brush.test.tsx
This commit is contained in:
Steve Ruiz 2021-09-17 22:29:45 +01:00 committed by GitHub
parent cdb7c74f8e
commit 8ae625baef
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 77 additions and 81 deletions

View file

@ -55,6 +55,10 @@ export interface RendererProps<T extends TLShape, E extends Element = any, M = a
* An object of custom options that should be passed to rendered shapes.
*/
meta?: M
/**
* A callback that receives the renderer's inputs manager.
*/
onMount?: (inputs: Inputs) => void
}
/**
@ -74,6 +78,7 @@ export function Renderer<T extends TLShape, E extends Element, M extends Record<
hideHandles = false,
hideIndicators = false,
hideBounds = false,
onMount,
...rest
}: RendererProps<T, E, M>): JSX.Element {
useTLTheme(theme)
@ -96,6 +101,10 @@ export function Renderer<T extends TLShape, E extends Element, M extends Record<
inputs: new Inputs(),
}))
React.useEffect(() => {
onMount?.(context.inputs)
}, [context])
return (
<TLContext.Provider value={context as unknown as TLContextType<TLShape, Element>}>
<Canvas