Skip to content

v0.6.1

Compare
Choose a tag to compare
@ammarahm-ed ammarahm-ed released this 18 Sep 14:34
· 251 commits to master since this release
  • Trigger useMMKVStorage change when removeItem is called
  • move getAllMMKVInstanceIDs and getCurrentMMKVInstanceIDs to module level
  • hasKey functions in indexer are now synchronous
  • Allow changing when key and/or storage in useMMKVStorage hook at runtime
  • Add clearMemoryCache function
  • Add getKey function to get encryption key of current MMKV instance
  • Prevent a possible crash when sending incorrect parameters to create function.
  • Do not recompile jsi.cpp from source on Android
  • Now you can set a defaultValue for useMMKVStorage hook.
  • Fix a null exception during migration if value for a key was null
  • Fix numerous build issues on Android such as #155
  • Fix setValue not stable in useMMKVStorage hook #157
  • Fix value type of useMMKVStorage hook could not be changed after it was deleted.
  • Refactor and simplify some parts of the library
  • Update MMKV to 1.2.10

What's new

Transactions
Listen to a value's lifecycle and mutate it on the go. Transactions lets you register lifecycle functions with your storage instance such as onwrite, beforewrite, onread, ondelete. This allows for a better and more managed control over the storage and also let's you build custom indexes with a few lines of code. Refer to #104 issue more detail on this feature.

storage.transactions.register("object","onwrite",(key,value) => {
  //do something
})

Remember that these are not events but functions. If you register the same type of function twice, the later will take precedence.

useIndex
A hook that will take an array of keys and returns an array of values for those keys. This is supposed to work in combination with Transactions. When you have build your custom index, you will need an easy and quick way to load values for your index. useIndex hook actively listens to all read/write changes and updates the values accordingly.

const [posts, update,remove] = useIndex(postsIndex,"object",storage);