fix(reactivity): ensure readonly on plain arrays doesn't track array methods. (close: #2493) #2506
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When using
readonly()
on a plain array, accessing the array in any way should not result in any tracking, no deps should be collected, as a plain array can't be tracked anyway.However, for array methods like
includes
, we currently usearrayImplementations
that do track wether or not the proxy is a reactive or readonly one.Consequently, this doesn't result in tracking:
but this does:
close: #2493