{"_id":"5e-hooks","_rev":"2-9942dfd6f0b4eb7e5aaef28be17dc3c0","name":"5e-hooks","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.1":{"name":"5e-hooks","version":"0.0.1","main":"lib/index.js","types":"lib/index.d.ts","license":"MIT","scripts":{"5elint":"5elint","build":"rm -rf lib && tsc -p .","watch-demo":"start-storybook","test":"jest"},"dependencies":{"@types/react":"^16.9.38","react":"^16.13.1","typescript":"^3.9.5"},"devDependencies":{"@storybook/addon-info":"^5.3.19","@storybook/react":"^5.3.19","@testing-library/react-hooks":"^3.3.0","@types/jest":"^26.0.0","eslint":"^7.3.1","eslint-config-5e":"^0.0.7","jest":"^26.1.0","prettier":"^2.0.5","react-docgen-typescript-loader":"^3.7.2","react-dom":"^16.13.1","react-test-renderer":"^16.13.1","ts-jest":"^26.1.1","ts-loader":"^7.0.5"},"jest":{"preset":"ts-jest/presets/js-with-ts","clearMocks":true,"globals":{"ts-jest":{"tsConfig":"tsconfig.json"}}},"gitHead":"fc9a835b1db386ca1d60d2414e802d8d282da18d","description":"#### useResetAction","_id":"5e-hooks@0.0.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-IXG3kwFpLihNl+VhPM01SSoXdH93MoGepGgQc7YaSvbafgwVLWLr3qcoWF80gh8en+qO60sAmE5Y70dkDsL0zg==","shasum":"7be803ce47b39604548ece29fde683dd03cde77f","tarball":"https://registry.npmjs.org/5e-hooks/-/5e-hooks-0.0.1.tgz","fileCount":18,"unpackedSize":8457,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfM4haCRA9TVsSAnZWagAAIykP/RAhPl7SJPMooVoMdwVf\noFRjoswU9BQPGuZJPkNi51+Z+oyMR4PAacWBESvzOeaOK7rrBfwykx7qwErx\n0vTt9ueX8e7BhnPzhC9d/r50ICniKMIyPRZpG+8m7YCnwumNltm+t5XAdpn/\nWBWSlfUcu9g0I/ghR1od20bmFBvgsRVJ2Z8A2sTxtWYEOhbSrSvVtJBuuc7U\nObWb0ITPqoWr7P13NcHhl/m8X+TOTPvs2yXZOioPrnwSQNOLsM/s7/rtc+6c\nzsKDsRRvPun2JJ6RkWj3+uyeJcRlDprgVk6DCBPHFJVE9Uke9uR1qTZrRT1y\n8ZKRY/7UkmRddTz4WvCsV3Md28bAzdQse7b6aGveA2i5O78mJXiITv2Vh+I6\n/lfsaqwor3syTRWFXazLe59UDYeSe9LvGYJgNLKeRAZGf225ll2Vd8EIUmzp\nNi1SBpU13arnWPVxNxsJj7Hc/QkrOyFjDensP2aauREJL+B+8Zw6cBVV8zjA\nKDeavQntq7u0xqIdxFxPsMrtsqeLdC2S2iiKPqmRqKdboqyLo6c/j/LoslST\nmXSnt3l3IyD31emwcE4wR99UV8FmYeV3QpVnGifcYMt7S3VSeGR60ZkOnqYN\njX0NGRxA/8R1mURb7Q3wIrnHDMggVj1AtV8+m0HsBeiF1PahA9t5wVSPKKdo\nu2xm\r\n=fzyL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAUTQLJasppjm9UTUuNiFBQ95CW5rnqxDyQlIvUkCzs0AiAfaAk0OyhIql2lWKI2YDb8XyfgRqtu5Ym860XTWHrXDg=="}]},"maintainers":[{"name":"5e","email":"opensource@project5e.com"}],"_npmUser":{"name":"5e","email":"opensource@project5e.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/5e-hooks_0.0.1_1597212761525_0.6284918403035384"},"_hasShrinkwrap":false},"0.0.2":{"name":"5e-hooks","version":"0.0.2","main":"lib/index.js","types":"lib/index.d.ts","license":"MIT","scripts":{"5elint":"5elint","build":"rm -rf lib && tsc -p .","watch-demo":"start-storybook","test":"jest"},"dependencies":{"@types/react":"^16.9.38","react":"^16.13.1","typescript":"^3.9.5"},"devDependencies":{"@storybook/addon-info":"^5.3.19","@storybook/react":"^5.3.19","@testing-library/react-hooks":"^3.3.0","@types/jest":"^26.0.0","eslint":"^7.3.1","eslint-config-5e":"^0.0.7","jest":"^26.1.0","prettier":"^2.0.5","react-docgen-typescript-loader":"^3.7.2","react-dom":"^16.13.1","react-test-renderer":"^16.13.1","ts-jest":"^26.1.1","ts-loader":"^7.0.5"},"jest":{"preset":"ts-jest/presets/js-with-ts","clearMocks":true,"globals":{"ts-jest":{"tsConfig":"tsconfig.json"}}},"gitHead":"a17b0de71ac9b5c9d87ed2f2cb94c88908f90521","description":"#### useResetAction","_id":"5e-hooks@0.0.2","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-CdTGGzK7rrulMZrD/n6Sacubmmj6s1FZfYYibGI6C8RhGoE/1lRhO1xDzfaPgTY4fK69hrMVrp97zKKm+eJhiQ==","shasum":"f923836e69d3dabc5f2cc3d3927788dc8a1bd54c","tarball":"https://registry.npmjs.org/5e-hooks/-/5e-hooks-0.0.2.tgz","fileCount":22,"unpackedSize":10946,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfO0xgCRA9TVsSAnZWagAAPbwQAIE9ZQa39tfIwJXj1Uik\nuSTE6t4+Mtde8/axNx5p94S3CU0oLG1YDKUwSBzDKjcgqEaXbzzn6FLlDHc6\nURGF8dC1hzADNpGXwXPVzTFmEVGitja/zPsKIXfMMIb5rArWSC1gJ4/TsMC1\n8h4d7YPBg0IDXB2F1lnka6P5upL6zYsYQ57CL8Qn6+W1NRUnRSQX3e5MDTRF\nR126/jUQM2TdC+bLvKWm57OUyeN2flxuDFYQQz8NA/3uAprhLUEj65kfuLna\niCC1F9NxU62uTb/6nb5FDTavoROPOYHXQZreXiT8l9F3PEyY5xmnWMsEqK0h\n6F9jkCq1Vv8oUQdH0va9Es8mT095zY0vnSYeEjstZ6TcjG0O8PeR9HL97B2B\nPLbtBnoVWglvIRQmZcEugHW6TIhi++VdgHMzpnCBb9uXwLJVpd021BRWR/AV\niSAnLS1UeLXu741WIo9mjlpi08jFdfzhHtZfpzzp8bxC+OsYrRLD2+tgGVVl\noikV6dBuAlyMrWH91drSHH5l4ALBAp3Dj9+KaMFrlhpz2CTpXi1b7bKwwC3t\n24r2t0Cvh8iFDUeiiE2zGU7hudzO4HEalB1oKyHiFrWXmoNb4ISc3O5tEQ5Y\nycY1pt+IGWJsZqS8dvezY04ftOiWieKNH92ZXmtiMZ9CWznoBeKOLbsamlGO\naXgu\r\n=+rAG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdHfPLPuj3DtMLQCcXCOEeQDpAJw/xGHlbY7G0sXYrNwIgAKTZhHmc6FhaHCBYnJpK0JWRy8Yqv7o9SjiSxR1rKwM="}]},"maintainers":[{"name":"5e","email":"opensource@project5e.com"}],"_npmUser":{"name":"5e","email":"opensource@project5e.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/5e-hooks_0.0.2_1597721695519_0.01039174506303464"},"_hasShrinkwrap":false}},"time":{"created":"2020-08-12T06:12:41.525Z","0.0.1":"2020-08-12T06:12:41.678Z","modified":"2022-04-04T10:23:12.785Z","0.0.2":"2020-08-18T03:34:55.643Z"},"maintainers":[{"name":"5e","email":"opensource@project5e.com"}],"description":"#### useResetAction","license":"MIT","readme":"### 自定义hook库\n\n#### useResetAction\n\n***当页面离开时触发***\n\n无返回值\n\n```js\nconst resetState = () => {\n    setAge(0)\n    setValue({})\n}\n\nuseResetAction(resetState)\n\n// ---> WillUnmount\n```\n\n#### useMount\n\n```js\n// 初始化逻辑\nconst initParams = () => {\n  //xxxx\n}\n\nuseMount(initParams) // 首次进入页面的时候执行一次, 无副作用, 内部禁止掉了\n\nps. 隔离副作用 hook ---> didMount\n\n```\n\n#### useDebounce\n\n***指定函数内触发***\n\n```js\n// run: 执行 cancel: 取消 fn 是你需要防抖的函数  options是触发条件\n// 一般cancel 比较少去使用\n\n...\nconst options = {\n  isImmediate: true,       // 是否是立即执行\n  delayTime: 1000          // 延迟 or 执行\n}\nconst [run, cancel] = useDebounce(fn, options)\nconst [value, setValue] = useState('')\n\n// 频繁触发的逻辑\nconst requestStorage = async () => {\n  const res = await api.saveValue(params)\n  ...  \n}\n\nconst changeValue = (e: any) => {\n  setValue(e.target.value)\n  run(requestStorage)\n}\n\n<Input onChange={changeValue} value={value} />\n\n...\n```\n\n#### useThrottle\n\n```\nconst [run] = useThrottle(fn, {delayTime: 1000})\n```\n\n#### useSessionStorage\n\n```js\nconst [value, saveValue] = useSessionStorage('jb')\n...\n```\n\n\n#### useOnresize \n\n```js\nconst width = useOnResize(time)\n\ntime: 内部集成了防抖逻辑, 是延迟输出的时间\n\n```\n\n#### useLocalStorage\n\n\n```js\nconst [value, saveValue] = useLocalStorage('jb')\n...\n```\n\n---\n\n### TODO\n\n#### useToggle\n\n\n[github的地址](https://github.com/onionRunning/5e-hooks)","readmeFilename":"README.md"}