Skip to content

useFirstRender

A hook that detects whether a component is in its first render cycle. Perfect for skipping effects or conditionally rendering content only after the initial mount.

Parameters

This hook doesn’t take any parameters.

Returns

  • boolean - True during the component’s first render, false afterward

Usage

import { useFirstRender } from '@rhinolabs/react-hooks';
import { useEffect } from 'react';
function DataLoader() {
const isFirstRender = useFirstRender();
const [data, setData] = useState(null);
useEffect(() => {
// Skip effect on first render
if (isFirstRender) return;
// Run data fetching only after first render
fetchData().then(setData);
}, [someDepedency]);
return (
<div>
{isFirstRender ? (
<div>Initial Setup...</div>
) : (
<div>Data: {data}</div>
)}
</div>
);
}

Notes

  • Implements persistent state using React refs
  • Detects component lifecycle and mount status
  • Optimizes effects and prevents unnecessary re-renders
  • Controls render behavior based on mount state
  • Manages mount-specific logic with effect synchronization