-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Which react-spring target are you using?
-
@react-spring/web -
@react-spring/three -
@react-spring/native -
@react-spring/konva -
@react-spring/zdog
What version of react-spring are you using?
10.0.1
What's Wrong?
Hello,
I'm almost finished with the react-native upgrade from 0.75 to 0.79 (with new architecture). I upgraded @react-spring/native from 9.6.1 to 10.0.1 and I have a bug caught by jest:
TypeError: Cannot assign to read only property 'shadowOffset' of object '#<Object>'
The styled component in question has shadow-offset: 0 -15px; which transforms to an object in react-native, so styles.shadowOffset is reassigned here:
react-spring/targets/native/src/index.ts
Lines 27 to 33 in 7cc1c90
| createAnimatedStyle(styles) { | |
| styles = StyleSheet.flatten(styles) | |
| if (is.obj(styles.shadowOffset)) { | |
| styles.shadowOffset = new AnimatedObject(styles.shadowOffset) | |
| } | |
| return new AnimatedStyle(styles) | |
| }, |
When I remove that shadowOffset style, the error is gone. I get it that styles object props are read-only in react but that logic was also present in previous versions of react-spring, so it must be a react thing.
To Reproduce
Create an animated component with shadowOffset: { width, height }.
Expected Behaviour
No error