kopia lustrzana https://github.com/Tldraw/Tldraw
20 wiersze
573 B
TypeScript
20 wiersze
573 B
TypeScript
import { useState } from 'react'
|
|
import { StoreOptions, createTLStore } from '../config/createTLStore'
|
|
import { usePrevious } from './usePrevious'
|
|
|
|
/** @public */
|
|
export function useTLStore(opts: StoreOptions) {
|
|
const [store, setStore] = useState(() => createTLStore(opts))
|
|
const previousOpts = usePrevious(opts)
|
|
if (
|
|
previousOpts.customShapes !== opts.customShapes ||
|
|
previousOpts.initialData !== opts.initialData ||
|
|
previousOpts.instanceId !== opts.instanceId
|
|
) {
|
|
const newStore = createTLStore(opts)
|
|
setStore(newStore)
|
|
return newStore
|
|
}
|
|
return store
|
|
}
|