rn-user-defaults
Version:
Use `UserDefaults` (iOS) with React Native and `SharedPreferences` on AndroidOS.
29 lines (25 loc) • 711 B
JavaScript
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;