d901b6bea8
WeakSets and WeakMaps shows degrading performance as the amount of observed objects increases. Using hidden keys result in better performance especially when repeatedly creating large amounts of reactive proxies. This also makes it possible to more efficiently declare non-reactive objects in userland. |
||
---|---|---|
.. | ||
__tests__ | ||
src | ||
api-extractor.json | ||
index.js | ||
LICENSE | ||
package.json | ||
README.md |
@vue/reactivity
Usage Note
This package is inlined into Global & Browser ESM builds of user-facing renderers (e.g. @vue/runtime-dom
), but also published as a package that can be used standalone. The standalone build should not be used alongside a pre-bundled build of a user-facing renderer, as they will have different internal storage for reactivity connections. A user-facing renderer should re-export all APIs from this package.
For full exposed APIs, see src/index.ts
. You can also run yarn build reactivity --types
from repo root, which will generate an API report at temp/reactivity.api.md
.
Credits
The implementation of this module is inspired by the following prior art in the JavaScript ecosystem:
Caveats
- Built-in objects are not observed except for
Array
,Map
,WeakMap
,Set
andWeakSet
.