tldraw/packages
alex 5b21ad96ae
No defaults for contexts (#3750)
in many places, we use a pattern like `React.createContext({} as
Editor)` when defining contexts. This causes a problem: `{}` is not
`Editor`, but you can still `useEditor` wherever you like and your code
with run with this confusing non-editor value.

This diff updates all our `createContext` calls to default to `null`,
with an explicit check and error for missing values. Now, if you
`useEditor` outside of `<Tldraw />`, you'll get a message telling you
that it can only be used within `<Tldraw />`.

### Change Type

- [x] `sdk` — Changes the tldraw SDK
- [x] `improvement` — Improving existing features

### Release Notes

`useEditor` and other context-based hooks will now throw an error when
used out-of-context, instead of returning a fake value.
2024-05-14 10:22:07 +00:00
..
assets Update READMEs, add form link (#3741) 2024-05-12 20:48:07 +00:00
dotcom-shared Move storing of snapshots to R2 (#3693) 2024-05-08 09:06:02 +00:00
editor No defaults for contexts (#3750) 2024-05-14 10:22:07 +00:00
namespaced-tldraw Don't check api.json files into git (#3565) 2024-04-24 15:58:26 +00:00
state [signia] perf thing again (#3645) 2024-04-30 13:44:52 +00:00
store Store-level "operation end" event (#3748) 2024-05-14 09:42:41 +00:00
tldraw No defaults for contexts (#3750) 2024-05-14 10:22:07 +00:00
tlschema Update READMEs, add form link (#3741) 2024-05-12 20:48:07 +00:00
tlsync Bindings (#3326) 2024-05-08 12:37:31 +00:00
utils assets: rework mime-type detection to be consistent/centralized; add support for webp/webm, apng, avif (#3730) 2024-05-13 08:29:43 +00:00
validate Update READMEs, add form link (#3741) 2024-05-12 20:48:07 +00:00