react-native-reanimated-carousel: Crash when updating to react-native-reanimated 2.7.0 ( undefined is not a function )

Describe the bug Updating react-native-reanimated to version 2.7.0 seems to be breaking the library, causing crashes on iOS and Android

To Reproduce Steps to reproduce the behavior:

  1. Update react-native-reanimated to version 2.7.0

Expected behavior No crashes

Screenshots

Versions (please complete the following information):

  • react: v17.0.2
  • react-native: v0.68.0
  • react-native-reanimated: v2.3.7
  • react-native-reanimated-carousel: v2.3.4
  • react-native-gesture-handler: v2.3.2

Smartphone (please complete the following information):

  • Device: Pixel 4a
  • OS: Android 12

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 3
  • Comments: 33 (13 by maintainers)

Commits related to this issue

Most upvoted comments

It’s fixed in v3.0.0 🫠

image

I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE,I PROMISE

We’re still experiencing issues on the latest build + reanimated 2.8.0

Thanks for reminding me to fix it ASAP.

I don’t get the error message, my app simply crashes.

I installed the new version and I am using “react-native-reanimated”: “^2.6.0”

I released it in 2.6.0.

This error is triggered by this PR, And there is related issue.

In version 2.7.0+, __reanimatedWorkletInit is deleted, so i added this code to my index file.

+ if (!('__reanimatedWorkletInit' in global)) {
+     Object.assign(global, { __reanimatedWorkletInit: () => {} });
+ }

export type { TCarouselProps, ICarouselInstance } from './types';
import Carousel from './Carousel';

export default Carousel;

I think this should work with different versions of reanimated. And this problem has been happening for too long. Sorry. I will reopen this issue if there is any problem. 🍺

@dohooo this is a big issue for modern react native and Expo 45+ apps. Can you release a react-native-reanimated-carousel@3.0.0 with this breaking change for use with react-native-reanimated@2.7.0+?

with

    "react-native-reanimated": "^2.8.0",
    "react-native-reanimated-carousel": "^2.3.11",

and

global.__reanimatedWorkletInit = () => {};

AppRegistry.registerComponent(appName, () => Root);

it works for us

@Harvinder5

Downgrade to reanimated 2.6.0

I have been so busy recently that I can only deal with this problem this weekend. Could a rollback be a bad idea?