bokuweb / re-resizable

📏 A resizable component for React.
https://bokuweb.github.io/re-resizable/
MIT License
2.46k stars 220 forks source link

Add `ref` to `definedProps` #805

Closed jorgezreik closed 6 months ago

jorgezreik commented 6 months ago

Proposed solution

Fixes resizable field always being null in React 18.3.

After this React PR for 18.3, ref is included as a normal prop. Because of this, we detect ref as a user-provided prop and break our ref logic. This causes the resizable field of our Resizable component to always read null. To fix this, we add ref to our defined props to ensure that we do not consider it a user-provided prop.

Tradeoffs

There should be no negative effects from this change.

For all users with React < 18.3, it is impossible to pass ref in props as it is removed by React, so this change will not affect them. For all users with React >= 18.3, this will fix the behavior of ref in their resizable component.

Testing Done

Tested accessing the resizable field in both React 18.0 and 18.3. Both work!

bokuweb commented 6 months ago

@jorgezreik Thanks!!!!!!!!!!!!

bokuweb commented 6 months ago

@jorgezreik 6.9.16 published 🎉