I have app where I have multiple calls to a hook, to simplify the example let's assume it looks like this:
const Test = () => {
...
useTest();
useTest();
....
}
and let's assume that useTest
looks like that:
export default function useTest() {
useEffect(() => {
console.log('test');
})
}
how I can make the console.log
to be run only once in given render/rerender phase no matter how many times this hook is called?
You can use the dependency array on useEffect.
export default function useTest() {
useEffect(() => {
console.log('test');
},[]) // Run only once
}
export default function useTest() {
useEffect(() => {
console.log('test');
},[someVar]) // Run on first mount and every time someVar changes
}