amplify-js: DataStore.clear() Error : [TypeError: undefined is not a function]
Before opening, please confirm:
- I have searched for duplicate or closed issues and discussions.
- I have read the guide for submitting bug reports.
- I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
JavaScript Framework
React Native
Amplify APIs
DataStore
Amplify Categories
Not applicable
Environment information
# Put output below this line
System:
OS: Windows 10 10.0.22000
CPU: (12) x64 11th Gen Intel(R) Core(TM) i5-11400F @ 2.60GHz
Memory: 3.14 GB / 15.84 GB
Binaries:
Node: 16.13.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.18 - C:\Program Files\nodejs\yarn.CMD
npm: 8.18.0 - C:\Program Files\nodejs\npm.CMD
Browsers:
Edge: Spartan (44.22000.120.0), Chromium (108.0.1462.46)
Internet Explorer: 11.0.22000.120
npmPackages:
@alessiocancian/react-native-actionsheet: ^3.2.0 => 3.2.0
@aws-amplify/datastore-storage-adapter: ^2.0.5 => 2.0.5
@aws-amplify/pushnotification: ^5.0.5 => 5.0.5
@aws-sdk/client-codeguruprofiler: ^3.226.0 => 3.226.0
@aws-sdk/client-xray: ^3.226.0 => 3.226.0
@azure/core-asynciterator-polyfill: ^1.0.2 => 1.0.2
@babel/core: ^7.20.5 => 7.20.5
@babel/runtime: ^7.20.6 => 7.20.6
@react-native-async-storage/async-storage: ^1.17.11 => 1.17.11
@react-native-community/eslint-config: ^3.2.0 => 3.2.0
@react-native-community/netinfo: ^9.3.7 => 9.3.7
@react-native-community/push-notification-ios: ^1.10.1 => 1.10.1 (1.0.3)
@react-navigation/bottom-tabs: ^6.5.0 => 6.5.0
@react-navigation/native: ^6.1.0 => 6.1.0
@react-navigation/native-stack: ^6.9.5 => 6.9.5
@react-navigation/stack: ^6.3.8 => 6.3.8
@reduxjs/toolkit: ^1.9.1 => 1.9.1
@reduxjs/toolkit-query: 1.0.0
@reduxjs/toolkit-query-react: 1.0.0
@tsconfig/react-native: ^2.0.3 => 2.0.3
@types/jest: ^29.2.4 => 29.2.4
@types/react: ^18.0.26 => 18.0.26
@types/react-native: ^0.70.8 => 0.70.8
@types/react-test-renderer: ^18.0.0 => 18.0.0
HelloWorld: 0.0.1
amazon-cognito-identity-js: ^6.0.1 => 6.0.1 (5.2.12)
amplify: ^0.0.11 => 0.0.11
aws-amplify: ^5.0.5 => 5.0.5
babel-jest: ^29.3.1 => 29.3.1
crypto-js: ^4.1.1 => 4.1.1 (3.3.0)
eslint: ^8.29.0 => 8.29.0
hermes-inspector-msggen: 1.0.0
jest: ^29.3.1 => 29.3.1
metro-react-native-babel-preset: ^0.73.4 => 0.73.4 (0.67.0)
moment: ^2.29.4 => 2.29.4
react: ^17.0.2 => 17.0.2
react-native: 0.68.2 => 0.68.2
react-native-blob-util: ^0.17.0 => 0.17.0
react-native-chart-kit: ^6.12.0 => 6.12.0
react-native-curved-bottom-bar: ^2.1.4 => 2.1.4
react-native-date-picker: ^4.2.6 => 4.2.6
react-native-element-dropdown: ^2.5.0 => 2.5.0
react-native-gesture-handler: ^2.8.0 => 2.8.0
react-native-get-random-values: ^1.8.0 => 1.8.0
react-native-image-picker: ^4.10.2 => 4.10.2
react-native-image-zoom-viewer: ^3.0.1 => 3.0.1
react-native-linear-gradient: ^2.6.2 => 2.6.2
react-native-modal: ^13.0.1 => 13.0.1
react-native-pager-view: ^6.1.2 => 6.1.2
react-native-pdf: ^6.6.2 => 6.6.2
react-native-reanimated: ^2.13.0 => 2.13.0
react-native-safe-area-context: ^4.4.1 => 4.4.1
react-native-scoped-storage: ^1.9.3 => 1.9.3
react-native-screens: ^3.18.2 => 3.18.2
react-native-splash-screen: ^3.3.0 => 3.3.0
react-native-sqlite-storage: ^6.0.1 => 6.0.1
react-native-svg: ^13.6.0 => 13.6.0
react-native-switch-selector: ^2.3.0 => 2.3.0
react-native-touch-id: ^4.4.1 => 4.4.1
react-native-url-polyfill: ^1.3.0 => 1.3.0
react-native-uuid: ^2.0.1 => 2.0.1
react-native-vision-camera: ^2.15.2 => 2.15.2
react-native-webview: ^11.26.0 => 11.26.0
react-redux: ^8.0.5 => 8.0.5
react-test-renderer: 17.0.2 => 17.0.2
redux: ^4.2.0 => 4.2.0
redux-persist: ^6.0.0 => 6.0.0
redux-persist/integration/react: undefined ()
redux-thunk: ^2.4.2 => 2.4.2
typescript: ^4.9.4 => 4.9.4
npmGlobalPackages:
@aws-amplify/cli: 9.1.0
@react-native-community/cli-platform-android: 7.0.1
eas-cli: 0.48.2
expo-cli: 5.2.0
npm: 8.18.0
react-native-cli: 2.0.1
react-native-paper: 4.12.0
react-native-webview: 11.17.2
yarn: 1.22.18
Describe the bug
I am using “aws-amplify”: “^4.3.43” , “@aws-amplify/cli”: “^9.1.0”, [TypeError: undefined is not a function] When Calling Datastore.clear() function
Expected behavior
Expected to clear local data, But it doesn’t seams to clear
Reproduction steps
DataStore.clear();
Code Snippet
// Put your code below this line.
const onSignOut = async () => { try {
await DataStore.clear()
await Auth.signOut().catch(error => {
Alert.alert(error.message);
});
} catch (error) {
console.log('log Datastore: ', error)
}
};
Log output
// Put your logs below this line
aws-exports.js
No response
Manual configuration
No response
Additional configuration
No response
Mobile Device
No response
Mobile Operating System
No response
Mobile Browser
No response
Mobile Browser Version
No response
Additional information and screenshots
No response
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 23 (9 by maintainers)
Looks like Hermes is also missing
Symbol.asyncIterator. https://github.com/facebook/hermes/issues/820The polyfill from core-js should solve this.
Then add this as the top of the imports for your app.
Work Around (TLDR)
Add the polyfill to your dependencies.
Then add the following to somewhere near the root of your app (such as
index.js).Explanation
The issue is that the polyfill for
Promiseused by Hermes does not includePromise.allSettled(orPromise.any).react-native@0.70.6added support forPromise.allSettled(andPromise.any). However, React Native will use thePromisepolyfill from Hermes if it is available (according to https://github.com/facebook/react-native/issues/35363#issuecomment-1335298726) resulting inPromise.allSettledstill missing when using Hermes. This will be fixed inreact-native@0.71.x(https://github.com/facebook/hermes/issues/766#issuecomment-1340085132).The workaround suggested in https://github.com/facebook/hermes/issues/766#issuecomment-1182737719 will unblock current versions of React Native.
The workaround is clearly not a great experience, so we will be looking into a proper fix.
@jeromeheissler and @imdkbj I noticed you are both calling
DataStop.stopbeforeDataStore.clear. Can you try just callingDataStore.clear?and let me know if the issue persists?Yes, Its, continued, not working
Same thing.