Skip to content

TypeError: _RNGestureHandlerModule.default.flushOperations is not a function #2007

Closed
@idrissakhi

Description

@idrissakhi

Description

Issue with typing on the new version 2.4.0, the tests where we use Scrollable View (FlatList, ScrollView ...) does not pass anymore

TypeError: _RNGestureHandlerModule.default.flushOperations is not a function

  at Timeout._onTimeout (node_modules/react-native-gesture-handler/lib/commonjs/handlers/gestureHandlerCommon.ts:194:30)

Platforms

  • iOS
  • Android
  • Web

Screenshots

Steps To Reproduce

  1. update to new version 2.4.0 from version 2.3.1

  2. write component that uses ScrollView for example

  3. run test

  4. test will fail with following error => ` TypeError: _RNGestureHandlerModule.default.flushOperations is not a function

    at Timeout._onTimeout (node_modules/react-native-gesture-handler/lib/commonjs/handlers/gestureHandlerCommon.ts:194:30)`

Expected behavior

Actual behavior

Snack or minimal code example

`import { ReactElement } from 'react';
import { View, useWindowDimensions, ActivityIndicator } from 'react-native';
import { ScrollView } from 'react-native-gesture-handler';
import RenderHTML from 'react-native-render-html';
import { useNavigation, useRoute } from '@react-navigation/native';

import { useTranslation } from 'src/Shared/Config';
import { Color, routeNames, sharedStyles, tagsStyle } from 'src/Shared/constants';
import { SettingsHeader } from '../SubComponents';
import { styles } from './PrivacyPolicyScreen.style';
import { SettingsScreenProps, SettingsTermsOfUseProps } from 'src/Router/types.router';

export const PrivacyPolicyScreen = (): ReactElement => {
const { t } = useTranslation();
const {
params: { uri },
} = useRoute<SettingsTermsOfUseProps['route']>();
const { goBack, navigate } = useNavigation<SettingsScreenProps['navigation']>();
const { width: screenWidth } = useWindowDimensions();

const onClose = () => {
navigate(routeNames.App);
};

return (
<View testID="privacyPolicyScreenContainer" style={[sharedStyles.fullFlex, styles.container]}>
<SettingsHeader title={t('settings_privacy_policy_item')} onLeftPress={goBack} onRightPress={onClose} />

<RenderHTML
source={{ uri }}
contentWidth={screenWidth}
tagsStyles={tagsStyle}
remoteLoadingView={() => }
/>


);
};
`

====== Jest Test ======

` it('click on terms of use to the correct page', async () => {
const { getByTestId } = render();

const termOfUseEntry = getByTestId('testId-settings_page_item_terms_use');
expect(termOfUseEntry).toBeDefined();

await act(async () => {
  fireEvent.press(termOfUseEntry);
});

await waitFor(() => expect(navContext.navigate).toHaveBeenCalledTimes(1));
expect(navContext.navigate).toHaveBeenNthCalledWith(1, routeNames.SettingsTermsOfUse, {
  uri: 'https://partoo-mobile-app.s3.eu-west-1.amazonaws.com/terms-of-use/terms-of-use_fr.html',
});

});`

==== Error ====
TypeError: _RNGestureHandlerModule.default.flushOperations is not a function

  at Timeout._onTimeout (node_modules/react-native-gesture-handler/lib/commonjs/handlers/gestureHandlerCommon.ts:194:30)

Package versions

  • React: 17.0.2
  • React Native: 0.67.4.
  • React Native Gesture Handler: 2.4.0
  • React Native Reanimated:2.7.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions