Programming Tutorials

expo-secure-store vs expo-file-system in expo - react native

By: Karthik Gupta in React-Native Tutorials on 2023-04-13  

Expo provides two different packages for managing data storage in your app: expo-secure-store and expo-file-system.

expo-secure-store is used for storing sensitive information such as passwords, tokens, and API keys. It encrypts the data and stores it securely on the device. Here is an example of how to use expo-secure-store to store and retrieve a user's password:

import * as SecureStore from 'expo-secure-store';

// Store password securely
await SecureStore.setItemAsync('password', 'myPassword');

// Retrieve password securely
const password = await SecureStore.getItemAsync('password');
console.log(password); // 'myPassword'

expo-file-system is used for storing files such as images, videos, and documents. It provides methods for reading, writing, and deleting files. Here is an example of how to use expo-file-system to download an image from a URL and save it to the device:

import * as FileSystem from 'expo-file-system';

// Download image from URL and save to device
const url = '';
const fileUri = FileSystem.documentDirectory + 'image.jpg';
const downloadResult = await FileSystem.downloadAsync(url, fileUri);
console.log(downloadResult); // { uri: 'file:///path/to/file', status: 200, headers: {...}, md5: '...' }

These two packages serve different purposes and should be used according to your app's specific needs.

Add Comment

* Required information


No comments yet. Be the first!

Most Viewed Articles (in React-Native )

Latest Articles (in React-Native)

Session variables in React Native - Expo

use axios in Expo to call APIs

Start background location tracking after login in expo react native

set up a global error handler in React Native (expo)

SafeAreaView in React Native

Some dependencies are incompatible with the installed expo version:

disable the back arrow in the header of a screen in a React Navigation Stack Navigator

react-native-android-location-services-dialog-box alternative in expo

Error Handling in TextInput - React Native

react-native-background-job alternative in expo app

'import' and 'export' may only appear at the top level - React Native

OpenType (OTF) vs TrueType (TTF)

loadAsync() vs useFonts() in expo - react native

expo-secure-store vs expo-file-system in expo - react native

Send push notifications to android/ios sample code using expo - react native