Skip to content

Commit

Permalink
fix: revert example code
Browse files Browse the repository at this point in the history
  • Loading branch information
ammarahm-ed committed Nov 3, 2024
1 parent 3b31754 commit d5308c9
Showing 1 changed file with 81 additions and 5 deletions.
86 changes: 81 additions & 5 deletions example/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,95 @@ import {
} from 'react-native';
import { MMKVLoader, create } from 'react-native-mmkv-storage';

const storage = new MMKVLoader().withInstanceID("ABC").initialize();
console.log(storage.indexer.strings.hasKey('abc'));
const storage = new MMKVLoader().withEncryption().initialize();

// const storage2 = new MMKVLoader().withInstanceID('storage2').initialize();
const storage2 = new MMKVLoader().withInstanceID('storage2').initialize();

// const useStorage = create(storage);
// const useStorage2 = create(storage2);
const useStorage = create(storage);
const useStorage2 = create(storage2);

const App = () => {
const [user, setUser] = useStorage('user', 'robert');
const [age, setAge] = useStorage2('age', 24);

const getUser = useCallback(() => {
let users = ['andrew', 'robert', 'jack', 'alison'];
let _user = users[users.indexOf(user) === users.length - 1 ? 0 : users.indexOf(user) + 1];
return _user;
}, [user]);

const buttons = [
{
title: 'setString',
onPress: () => {
storage.setString('user', getUser());
}
},
{
title: 'setMulti',
onPress: () => {
const user = getUser();
console.log('setting user to', user);
storage.setMultipleItemsAsync([['user', user]], 'string');
}
},
{
title: 'getMulti',
onPress: async () => {
console.log(await storage.getMultipleItemsAsync(['user'], 'string'));
}
},
{
title: 'setUser',
onPress: () => {
setUser(getUser());
}
},
{
title: 'setAge',
onPress: () => {
setAge((age: number) => {
return age + 1;
});
}
},
{
title: 'clearAll',
onPress: () => {
storage.clearStore();
}
},
{
title: 'removeByKeys',
onPress: async () => {
const keys = await storage.indexer.getKeys();
console.log(keys);
storage.removeItems(keys);
storage.clearStore();
console.log(await storage.indexer.getKeys());
}
}
];

return (
<>
<StatusBar barStyle="dark-content" />
<SafeAreaView style={styles.container}>
<View style={styles.header}>
<Text style={styles.headerText}>
I am {user} and I am {age} years old.
</Text>
</View>
<ScrollView
style={{
width: '100%',
paddingHorizontal: 12
}}
>
{buttons.map(item => (
<Button key={item.title} title={item.title} onPress={item.onPress} />
))}
</ScrollView>
</SafeAreaView>
</>
);
Expand Down

0 comments on commit d5308c9

Please sign in to comment.