6b10f0cd1d
reference: https://github.com/vuejs/rfcs/issues/121 BREAKING CHANGE: object returned from `setup()` are no longer implicitly passed to `reactive()`. The renderContext is the object returned by `setup()` (or a new object if no setup() is present). Before this change, it was implicitly passed to `reactive()` for ref unwrapping. But this has the side effect of unnecessary deep reactive conversion on properties that should not be made reactive (e.g. computed return values and injected non-reactive objects), and can lead to performance issues. This change removes the `reactive()` call and instead performs a shallow ref unwrapping at the render proxy level. The breaking part is when the user returns an object with a plain property from `setup()`, e.g. `return { count: 0 }`, this property will no longer trigger updates when mutated by a in-template event handler. Instead, explicit refs are required. This also means that any objects not explicitly made reactive in `setup()` will remain non-reactive. This can be desirable when exposing heavy external stateful objects on `this`. |
||
---|---|---|
.circleci | ||
.github | ||
.vscode | ||
packages | ||
scripts | ||
test-dts | ||
.gitignore | ||
.prettierrc | ||
api-extractor.json | ||
CHANGELOG.md | ||
jest.config.js | ||
LICENSE | ||
package.json | ||
README.md | ||
rollup.config.js | ||
tsconfig.json | ||
yarn.lock |
vue-next
Status: Alpha.
The current codebase has basic feature parity with v2.x, together with the changes proposed in merged RFCs. There is a simple webpack-based setup with Single-File Component support available here.
At this stage, the only major work left is server-side rendering, which we are actively working on. In the meanwhile, we would like our users to start building small experimental apps using the alpha releases to help us identify bugs and stabilize the implementation.
Please note that there could still be undocumented behavior inconsistencies with 2.x. When you run into such a case, please make sure to first check if the behavior difference has already been proposed in an existing RFC. If the inconsistency is not part of an RFC, then it's likely unintended, and an issue should be opened (please make sure to use the issue helper when opening new issues).
Known Issues
-
There is currently no way to attach custom instance properties via
Vue.prototype
. -
The current implementation requires native ES2015+ in the runtime environment and does not support IE11 (yet).
Contribution
See Contributing Guide.