Skip to content

Conversation

dupfei
Copy link

@dupfei dupfei commented Jul 21, 2022

…hould not unwrap refs and the reactive object should retain readonly proxy

What kind of change does this PR introduce? (check at least one)

  • Bugfix
  • Feature
  • Code style update
  • Refactor
  • Build-related changes
  • Other, please describe:

Does this PR introduce a breaking change? (check one)

  • Yes
  • No

If yes, please describe the impact and migration path for existing applications:

The PR fulfills these requirements:

If adding a new feature, the PR's description includes:

  • A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

…hould not unwrap refs and the reactive object should retain readonly proxy
@yyx990803
Copy link
Member

Can you add relevant test cases for the bugs you are fixing?

@yyx990803
Copy link
Member

Thanks for the PR - as I was writing the test case for it, I discovered some edge cases that wasn't even working correctly in Vue 3:

  1. Setting a readonly object to a ref nested in a reactive object
  2. Setting a readonly/shallow object as ref value

These are fixed for Vue 3 in vuejs/core@a95554d

This PR also has subtle issues that are better explained via test cases - I also took the opportunity to align the behavior with Vue 3, see 2af751b.

@yyx990803 yyx990803 closed this Jul 22, 2022
@dupfei
Copy link
Author

dupfei commented Jul 22, 2022

Sorry, I just saw it. Is the property of the reactive object always a ref once it is assigned to a ref, just hidden by the internal unwrap ref behavior?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants