react-native-turbo-preferences
Version:
Modern TurboModule wrapper for iOS NSUserDefaults and Android SharedPreferences.
32 lines • 893 B
TypeScript
/**
* React hook for managing an object preference with JSON serialization
*
* @param key - The preference key
* @returns [value, setValue, contains, clear]
*
* @example
* ```tsx
* interface User {
* name: string;
* age: number;
* }
*
* function UserProfile() {
* const [user, setUser, hasUser, clearUser] = usePreferenceObject<User>('user');
*
* return (
* <View>
* <Text>Name: {user?.name ?? 'Unknown'}</Text>
* <Text>Age: {user?.age ?? 'Unknown'}</Text>
* <Button
* title="Set John"
* onPress={() => setUser({ name: 'John', age: 25 })}
* />
* <Button title="Clear" onPress={clearUser} />
* </View>
* );
* }
* ```
*/
export declare function usePreferenceObject<T>(key: string): [T | null, (value: T) => Promise<void>, boolean, () => Promise<void>];
//# sourceMappingURL=usePreferenceObject.d.ts.map