项目作者: suhaotian

项目描述 :
A persist formik state hook
高级语言: TypeScript
项目地址: git://github.com/suhaotian/use-formik-persist.git
创建时间: 2021-06-19T11:55:52Z
项目社区:https://github.com/suhaotian/use-formik-persist

开源协议:MIT License

下载


use-formik-persist (Deprecate)

Note: better choice, react-easy-persist






A hook to persist formik’s form state, support web and react-native,
online demo.

Install:

  1. yarn add use-formik-persist

peerDependencies:

  1. "peerDependencies": {
  2. // the latest async-stoarge version alread support web
  3. "@react-native-async-storage/async-storage": ">=1",
  4. "formik": ">=2",
  5. "react-use": ">=17",
  6. "react": ">=16.8"
  7. }

Usage:

  1. import * as React from 'react';
  2. import { useFormik } from 'formik';
  3. import { useFormikPersist } from 'use-formik-persist';
  4. export default function FormikPersistExample() {
  5. const formik = useFormik({
  6. initialValues: {
  7. username: '',
  8. password: '',
  9. },
  10. onSubmit: values => {
  11. alert(JSON.stringify(values));
  12. },
  13. });
  14. const [clear] = useFormikPersist(formik, { namespace: 'formik-example' });
  15. return (
  16. <div>
  17. <h1>useFormikPersist Example</h1>
  18. <form
  19. onSubmit={formik.handleSubmit}
  20. onChange={formik.handleChange}
  21. onReset={formik.handleReset}
  22. onBlur={formik.handleBlur}
  23. >
  24. <input
  25. type="text"
  26. name="username"
  27. placeholder="Username"
  28. value={formik.values.username}
  29. />
  30. <br />
  31. <br />
  32. <input
  33. type="password"
  34. name="password"
  35. placeholder="Password"
  36. value={formik.values.password}
  37. />
  38. <br />
  39. <br />
  40. <div>
  41. <button type="submit">Login</button>
  42. <button type="reset">Reset</button>
  43. <button
  44. onClick={() => {
  45. clear();
  46. alert('clear cache done!');
  47. }}
  48. >
  49. Clear Cache
  50. </button>
  51. </div>
  52. </form>
  53. </div>
  54. );
  55. }