项目作者: jonstuebe

项目描述 :
Crossplatform React hook for enabling persistence with AsyncStorage/LocalStorage
高级语言: TypeScript
项目地址: git://github.com/jonstuebe/react-native-storage-item.git
创建时间: 2019-11-17T01:13:31Z
项目社区:https://github.com/jonstuebe/react-native-storage-item

开源协议:MIT License

下载


React Native Storage Item

Crossplatform React hook for enabling persistence with AsyncStorage/LocalStorage

npm version

For React Native

Install

  1. yarn add react-native-storage-item @react-native-community/async-storage

Example

Let’s take a look at how you can use react-native-storage-item. Here’s a typical counter example:

  1. import React from 'react';
  2. import { render } from 'react-dom';
  3. import { Button, View } from 'react-native';
  4. import AsyncStorage from '@react-native-community/async-storage';
  5. import { StorageItem, createStorageState } from 'react-native-storage-item';
  6. const counterStorage = new StorageItem({
  7. key: "counter",
  8. initialValue: 0,
  9. provider: AsyncStorage
  10. });
  11. const useStorage = createStorageState(counterStorage);
  12. function App() {
  13. const [counter, setCounter] = useCounter();
  14. return (
  15. <View>
  16. <Button onPress={() => setCounter(counter - 1)>-</Button>
  17. <Button onPress={() => setCounter(counter + 1)>+</Button>
  18. </View>
  19. )
  20. }
  21. async function init() {
  22. await counterStorage.init();
  23. render(<App ></App>, document.getElementById("root"));
  24. }
  25. init();

For Web

Install

  1. yarn add react-native-storage-item react-native-web

Example

Let’s take a look at how you can use react-native-storage-item. Here’s a typical counter example:

  1. import React from 'react';
  2. import { render } from 'react-dom';
  3. import { AsyncStorage, Button, View } from 'react-native';
  4. // AsyncStorage has not been removed from core in `react-native-web` yet
  5. import { StorageItem, createStorageState } from 'react-native-storage-item';
  6. const counterStorage = new StorageItem({
  7. key: "counter",
  8. initialValue: 0,
  9. provider: AsyncStorage
  10. });
  11. const useStorage = createStorageState(counterStorage);
  12. function App() {
  13. const [counter, setCounter] = useCounter();
  14. return (
  15. <View>
  16. <Button onPress={() => setCounter(counter - 1)>-</Button>
  17. <Button onPress={() => setCounter(counter + 1)>+</Button>
  18. </View>
  19. )
  20. }
  21. async function init() {
  22. await counterStorage.init();
  23. render(<App ></App>, document.getElementById("root"));
  24. }
  25. init();

License

MIT Licensed

Contributors ✨

Thanks goes to these wonderful people (emoji key):





Jon Stuebe
Jon Stuebe

💻 💡 📖

This project follows the all-contributors specification. Contributions of any kind welcome!