UNPKG

rn-user-defaults

Version:

Use `UserDefaults` (iOS) with React Native and `SharedPreferences` on AndroidOS.

29 lines (25 loc) 711 B
import { NativeModules, Platform } from 'react-native'; const { RNUserDefaults: NativeUserDefaults } = NativeModules; const RNUserDefaults = Platform.select({ ios: { ...NativeUserDefaults, setPackageContext: () => Promise.resolve(), setName: () => Promise.resolve() }, android: { ...NativeUserDefaults, setObjectForKey: (key, value) => { const valueStringify = JSON.stringify(value); return NativeUserDefaults.set(key, valueStringify); }, objectForKey: async(key) => { try { const value = await NativeUserDefaults.get(key); return JSON.parse(value); } catch { return null; } } } }); export default RNUserDefaults;