Closed idrissakhi closed 2 years ago
same here :( well, almost. for me the error is about js instead of ts, but it's the same issue.
TypeError: _RNGestureHandlerModule.default.flushOperations is not a function
at Timeout._onTimeout (node_modules/react-native-gesture-handler/lib/commonjs/handlers/gestureHandlerCommon.js:102:39)
React: 17.0.2 React Native: 0.67.3 React Native Gesture Handler: 2.4.0 React Native Reanimated: 2.4.1
remove this line
import { ScrollView } from 'react-native-gesture-handler';
add this line import { ScrollView} from 'react-native';
run your test again, error only in test with imports from react-native-gesture-handler.
error on node_modules/react-native-gesture-handler/src/mocks.ts not export method flushOperations
ScrollView
We don't import ScrollView from react-native-gesture-handler
error on node_modules/react-native-gesture-handler/src/mocks.ts not export method flushOperations
Indeed, when adding a NOOP for flushOperations on mocks, all tests work again.
yes
remove this line
import { ScrollView } from 'react-native-gesture-handler';
add this lineimport { ScrollView} from 'react-native';
run your test again, error only in test with imports from react-native-gesture-handler.
I can't do that because I have issues with react-native scrollViews when used inside Screens presented as Modals by react-navigation (Scroll does not work on android devices). So I had to use the ones from react-native-gesture-handler
Hi! I added mock for flushOperations
in https://github.com/software-mansion/react-native-gesture-handler/commit/daaeea8cae2d22f0aa18cc9479c829ce387b6014. Should be fixed in the next release.
Hi! I added mock for
flushOperations
in daaeea8. Should be fixed in the next release.
Tried to patch it as you did, but it didn’t resolve my issue
Hmm, I cannot reproduce it with the patch applied. Could you prepare a repository with a reproduction of it?
When will the next release with this be deployed?
@idrissakhi i had the same issue.
needed to apply similar changes to node_modules/react-native-gesture-handler/lib/commonjs/mocks.js
@DominicGBauer Just released Gesture Handler 2.4.1 contains the fix for this issue.
@j-piasecki we need to add the same code to node_modules/react-native-gesture-handler/lib/commonjs/mocks.js, otherwise the new version does not resolve this issue at 100%
@idrissakhi the code under lib/
is autogenerated, the 2.4.1 package includes changes in those files.
Perfect, I will test new release today 💪
contains
@DominicGBauer Just released Gesture Handler 2.4.1 contains the fix for this issue.
Didn't work for me
@hichemBAALI I'm not able to reproduce it after the fix. If this is still affecting you, could you prepare a reproduction?
@idrissakhi Did the new release fix the problem for you?
Since the discussion has stopped, I'm assuming the problem was fixed by the latest release. I'll close the issue but if you are still experiencing it, feel free to reopen it.
I confirm that the issue is resolved, thank you @j-piasecki
I am not sure if its a similar issue but I am getting this error when running yarn test
TypeError: Cannot read properties of undefined (reading 'flushOperations')
at Object.<anonymous> (node_modules/react-native-gesture-handler/lib/commonjs/RNGestureHandlerModule.ts:19:28)
at Object.<anonymous> (node_modules/react-native-gesture-handler/lib/commonjs/init.ts:2:1)
console.error
[react-native-gesture-handler] react-native-gesture-handler module was not found. Make sure you're running your app on the native platform and your code is linked properly (cd ios && pod install && cd ..).
For installation instructions, please refer to https://docs.swmansion.com/react-native-gesture-handler/docs/#installation
at Object.<anonymous> (node_modules/react-native-gesture-handler/lib/commonjs/RNGestureHandlerModule.ts:7:11)
at Object.<anonymous> (node_modules/react-native-gesture-handler/lib/commonjs/init.ts:2:1)
in my package.json I have this
"react-native-gesture-handler": "^2.4.2",
Also I have linked pods for IOS
Same issue here ^^
Make sure you've setup Gesture Handler's mocks correctly as described here, as it looks like mocks for GH module are missing.
Description
Issue with typing on the new version 2.4.0, the tests where we use Scrollable View (FlatList, ScrollView ...) does not pass anymore
Platforms
Screenshots
Steps To Reproduce
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} /> <ScrollView testID="privacyPolicyScreenContent" contentContainerStyle={styles.contentContainer} style={styles.content}
====== Jest Test ======
` it('click on terms of use to the correct page', async () => { const { getByTestId } = render( );
});`
==== Error ==== TypeError: _RNGestureHandlerModule.default.flushOperations is not a function
Package versions