useMounted
A React hook for tracking whether a component has been mounted, useful for preventing state updates on unmounted components.
Usage
import { useMounted } from '@justaname.id/react'
function MyComponent() {
const isMounted = useMounted()
return (
<div>
<h3>Component Status</h3>
<p>Mounted: {isMounted ? 'Yes' : 'No'}</p>
</div>
)
}
// With async operations
function AsyncComponent() {
const isMounted = useMounted()
const [data, setData] = useState(null)
const fetchData = async () => {
try {
const result = await fetch('/api/data').then(r => r.json())
// Only update state if component is still mounted
if (isMounted) {
setData(result)
}
} catch (error) {
if (isMounted) {
console.error('Error:', error)
}
}
}
useEffect(() => {
fetchData()
}, [])
return (
<div>
<h3>Async Data Component</h3>
<p>Mounted: {isMounted ? 'Yes' : 'No'}</p>
{data && <p>Data: {JSON.stringify(data)}</p>}
</div>
)
}
Returns
boolean
- A boolean flag indicating whether the component is currently mounted
Defined in
packages/@justaname.id/react/src/lib/hooks/account/useMounted.ts:10
Last updated
Was this helpful?