vue3-core/packages/runtime-core/src
Evan You 6b10f0cd1d refactor: remove implicit reactive() call on renderContext
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`.
2020-01-27 16:00:18 -05:00
..
components feat(transition): TransitionGroup 2019-11-28 18:41:01 -05:00
helpers wip(ssr): escape helpers 2020-01-27 16:00:18 -05:00
apiCreateApp.ts wip(ssr): initial work on server-renderer 2020-01-27 16:00:17 -05:00
apiDefineComponent.ts refactor(createComponent): rename to defineComponent (#549) 2019-12-22 10:58:12 -05:00
apiInject.ts feat(inject): allow usage in functional components 2019-11-06 12:51:26 -05:00
apiLifecycle.ts wip(ssr): reduce reactivity overhead during ssr 2020-01-27 16:00:17 -05:00
apiOptions.ts refactor: remove implicit reactive() call on renderContext 2020-01-27 16:00:18 -05:00
apiReactivity.ts refactor(reactivity): separate track and trigger operation types 2019-12-03 11:30:24 -05:00
apiWatch.ts wip(ssr): reduce reactivity overhead during ssr 2020-01-27 16:00:17 -05:00
component.ts refactor: remove implicit reactive() call on renderContext 2020-01-27 16:00:18 -05:00
componentProps.ts wip(ssr): initial work on server-renderer 2020-01-27 16:00:17 -05:00
componentProxy.ts refactor: remove implicit reactive() call on renderContext 2020-01-27 16:00:18 -05:00
componentRenderUtils.ts feat(hmr): reload and force slot update on re-render 2019-12-12 21:09:47 -05:00
componentSlots.ts feat(core): respect $stable slots flag per RFC 2019-11-26 10:03:36 -05:00
directives.ts refactor(runtime-core): tweak component proxy implementation 2019-12-10 11:14:29 -05:00
errorHandling.ts feat(runtime-core): emit now returns array of return values from all triggered handlers 2020-01-20 11:24:08 -05:00
h.ts refactor(createComponent): rename to defineComponent (#549) 2019-12-22 10:58:12 -05:00
hmr.ts feat(hmr): root instance reload 2019-12-22 12:25:04 -05:00
index.ts wip(ssr): escape helpers 2020-01-27 16:00:18 -05:00
renderer.ts wip(ssr): render real components 2020-01-27 16:00:17 -05:00
scheduler.ts fix(scheduler): warn recursive updates in postFlushCbs as well (#456) 2019-11-14 12:06:23 -05:00
shapeFlags.ts refactor: adjust shapeFlag naming 2019-11-02 21:26:25 -04:00
vnode.ts fix: Suspense should include into dynamic children (#653) 2020-01-22 10:45:27 -05:00
warning.ts refactor(runtime-core): tweak component proxy implementation 2019-12-10 11:14:29 -05:00