{"_id":"@-ft/use-unmounted","name":"@-ft/use-unmounted","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"description":"React useUnmounted hook","name":"@-ft/use-unmounted","version":"0.1.0","license":"MIT","author":{"name":"Juyeong Maing","email":"mjy9088@naver.com"},"main":"./index.js","repository":{"type":"git","url":"git+https://github.com/42ts/-ft-use-unmounted.git"},"dependencies":{"@-ft/use-persist":"0.1.0"},"peerDependencies":{"react":"^18.2.0"},"types":"./index.d.ts","bugs":{"url":"https://github.com/42ts/-ft-use-unmounted/issues"},"homepage":"https://github.com/42ts/-ft-use-unmounted#readme","_id":"@-ft/use-unmounted@0.1.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-IuQQ6Vmoajt/FkaCrk3rKRgAwUtj8rBAoiorzZW3hWV7F9oIolkBdk/2KxhknM2+JoF8y80j+mV+ELxKZM7jPg==","shasum":"9c8bbaf060e0adcebbe001350020793a8e8d1ccb","tarball":"https://registry.npmjs.org/@-ft/use-unmounted/-/use-unmounted-0.1.0.tgz","fileCount":4,"unpackedSize":1340,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCptS+OxHb5ThxG3/mtebtPtwP3POWTzVJ26c4W2SlIlAIhAOiT631CcX9bBGQMcOSmVTERlzjo+vh9yHJdXifY4VAN"}]},"_npmUser":{"name":"mjy9088","email":"mjy9088@naver.com"},"directories":{},"maintainers":[{"name":"mjy9088","email":"mjy9088@naver.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/use-unmounted_0.1.0_1695394055648_0.44844888203898003"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-22T14:47:35.538Z","0.1.0":"2023-09-22T14:47:35.835Z","modified":"2023-09-22T14:47:36.187Z"},"maintainers":[{"name":"mjy9088","email":"mjy9088@naver.com"}],"description":"React useUnmounted hook","homepage":"https://github.com/42ts/-ft-use-unmounted#readme","repository":{"type":"git","url":"git+https://github.com/42ts/-ft-use-unmounted.git"},"author":{"name":"Juyeong Maing","email":"mjy9088@naver.com"},"bugs":{"url":"https://github.com/42ts/-ft-use-unmounted/issues"},"license":"MIT","readme":"# use-unmounted - react `useUnmounted` hook\n\ndo async operations in useEffect, and set state safety\n\n## Usage\n\n```jsx\nimport { useUnmounted } from '@-ft/use-unmounted';\n\nfunction MyComponent() {\n  const unmountedPersist = useUnmounted();\n  const [state, setState] = useState(\"Loading...\");\n  useEffect(() => {\n    (async () => {\n      const result = await fetchSomething();\n      if (unmountedPersist.current) {\n        // if the component is unmounted, setState is not safe\n        return;\n      }\n      setState(result);\n    })();\n  }, [unmountedPersist, setState]);\n  return <div>{state}</div>;\n}\n```\n","readmeFilename":"README.md"}