Evan You
b36a76fe23
chore: remove debugger [ci skip]
2020-02-22 05:19:22 +01:00
guaijie
76c7f54269
perf(effect): optimize effect trigger for array length mutation ( #761 )
2020-02-22 05:17:30 +01:00
Evan You
e9024bf1b7
feat(reactivity): expose unref and shallowRef
2020-02-22 04:39:32 +01:00
Evan You
775a7c2b41
refactor: preserve refs in reactive arrays
...
BREAKING CHANGE: reactive arrays no longer unwraps contained refs
When reactive arrays contain refs, especially a mix of refs and
plain values, Array prototype methods will fail to function
properly - e.g. sort() or reverse() will overwrite the ref's value
instead of moving it (see #737 ).
Ensuring correct behavior for all possible Array methods while
retaining the ref unwrapping behavior is exceedinly complicated; In
addition, even if Vue handles the built-in methods internally, it
would still break when the user attempts to use a 3rd party utility
functioon (e.g. lodash) on a reactive array containing refs.
After this commit, similar to other collection types like Map and
Set, Arrays will no longer automatically unwrap contained refs.
The usage of mixed refs and plain values in Arrays should be rare in
practice. In cases where this is necessary, the user can create a
computed property that performs the unwrapping.
2020-02-21 17:48:39 +01:00
Evan You
627b9df4a2
fix(types): improve ref typing, close #759
2020-02-21 17:45:42 +01:00
Evan You
33622d6360
perf(reactivity): only trigger all effects on Array length mutation if new length is shorter than old length
2020-02-21 15:05:16 +01:00
guaijie
5fac65589b
fix(reactivity): should trigger all effects when array length is mutated ( #754 )
2020-02-21 11:38:07 +01:00
Evan You
e8e67729cb
fix(reactivity): effect should handle self dependency mutations
2020-02-18 13:22:09 -05:00
Evan You
e1c9153b9e
fix(reactivity): trigger iteration effect on Map.set
...
fix #709
2020-02-18 00:09:24 -05:00
Evan You
2fb7a63943
fix(computed): support arrow function usage for computed option
...
fix #733
2020-02-17 23:22:25 -05:00
Evan You
d9d63f21b1
fix(reactivity): avoid cross-component dependency leaks in setup()
2020-02-17 23:14:07 -05:00
jods
8874b21a7e
perf(reactivity): better computed tracking ( #710 )
2020-02-09 15:25:17 -05:00
Dmitry Sharshakov
7f38c1e0ff
feat(reactivity): add shallowReactive function ( #689 )
2020-02-04 10:15:27 -05:00
Evan You
763faac182
wip(ssr): revert reactivity ssr paths
...
The perf gains are not worth the correctness issues these paths may lead to
2020-01-27 16:00:18 -05:00
Evan You
e43f5935b5
refactor: better variable naming
2020-01-27 16:00:18 -05:00
Evan You
25a0d4a65f
wip(ssr): reduce reactivity overhead during ssr
2020-01-27 16:00:17 -05:00
Evan You
aefb7d282e
fix(reactivity): Array methods relying on identity should work with raw values
2020-01-23 13:42:31 -05:00
likui
0c42a6d8fa
types: refactor ref unwrapping ( #646 )
2020-01-20 13:22:18 -05:00
IU
2b4d0d6501
types(reactivity): handle primitive + object intersection types in UnwrapRef ( #614 )
2020-01-16 17:47:47 -05:00
likui
63a6563106
fix(reactivity): should delete observe value ( #598 )
...
fix #597
2020-01-13 17:11:49 -05:00
Carlos Rodrigues
985f4c91d9
types: improve isRef typing ( #578 )
2020-01-06 16:15:49 -05:00
Evan You
755c7b581c
chore: mark get/set create calls pure
2019-12-20 11:16:46 -05:00
Evan You
0a4f306492
fix: shallowReadonly should keep reactive properties reactive
...
ref #552
2019-12-20 11:14:07 -05:00
Evan You
46c5393224
perf(reactivity): optimize effect stack
2019-12-13 23:06:55 -05:00
ztplz
02478b48eb
chore: use const instead of let ( #524 )
2019-12-06 00:10:06 +01:00
Evan You
89a187b895
refactor(reactivity): separate track and trigger operation types
2019-12-03 11:30:24 -05:00
Evan You
57bbbb227c
fix(core): propsProxy should not convert non-reactive nested values
2019-12-02 14:11:12 -05:00
ztplz
2d40466d35
chore: remove unused parameter type definitions ( #481 )
2019-11-22 15:35:58 -05:00
Evan You
61d8941692
types(reactivity): ref type should not expose _isRef
2019-11-08 13:29:43 -05:00
Carlos Rodrigues
68ad302714
types(reactivity): add support for tuples in ref unwrapping ( #436 )
2019-11-08 12:52:24 -05:00
QuincyChen
d7d87622ce
refactor: use isArray function from shared ( #441 )
2019-11-08 09:52:24 -05:00
Evan You
d9c6ff372c
feat(core): allow passing explicit refs via props
2019-11-06 12:51:26 -05:00
Junyan
a02820d7e0
feat: warn when toRefs() receives non-reactive object ( #430 )
2019-11-05 10:44:28 -05:00
Evan You
f3c1fa75f6
feat(reactivity): provide correct tracking info for refs
2019-11-02 23:20:49 -04:00
Evan You
66ecd8b47f
types: setup tests for built d.ts files
2019-11-01 22:54:01 -04:00
Evan You
247c53672d
refactor(reactivity): simplify effect options
2019-10-30 11:11:23 -04:00
Junyan
d76cfba7fb
refactor(reactivity): reduce code of type check ( #377 )
2019-10-25 11:15:04 -04:00
相学长
abfb2ec8ed
types(reactivity): computed types remove as
( #367 )
2019-10-24 11:37:52 -04:00
Mayness
18a349ce8c
fix(reactivity): account for NaN in value change checks ( #361 )
2019-10-23 11:53:43 -04:00
Cr
246cad7459
fix(reactivity): Map.set should trigger when adding new entry with undefined value ( #364 )
2019-10-23 11:00:55 -04:00
Evan You
590e4e0ba9
chore: fix DebuggerEvent export
2019-10-22 11:53:32 -04:00
Evan You
af57ad110f
chore: revert prettier
2019-10-22 11:53:32 -04:00
Evan You
b5886189ba
types: massive refactor
2019-10-22 11:53:32 -04:00
Dmitry Sharshakov
74d8c5919d
types: improve computed types ( #343 )
2019-10-21 13:57:20 -04:00
Evan You
d69d3bf765
fix(reactivity): revert to Reflect.get and add test cases
2019-10-18 15:31:28 -04:00
扩散性百万甜面包
3cd2f7e68e
types: fix ref unwrapping when nested inside arrays ( #331 )
2019-10-18 14:54:05 -04:00
edison
60961ef5b6
perf(reactivity): optimize the performance of the canObserve
( #330 )
2019-10-18 12:11:58 -04:00
Evan You
e3b68972d8
perf: minor tweaks
2019-10-17 15:02:15 -04:00
Evan You
cdee65aa1b
perf: revert to _isRef for perf
...
Benchmarking shows checking for a plain property is about 4~5x faster
than checking for a Symbol, likely because the Symbol does not fit well
into V8's hidden class model.
2019-10-17 15:02:14 -04:00
Tidyzq
a72652f6e6
refactor(reactivity): immediate return ( #301 )
2019-10-16 01:58:11 -04:00