useFirstRender
Introduction
Example
import React, { useEffect } from "react";
โ
const MyComponent = () => {
ย // ์ปค์คํ
ํ
์ ์ฌ์ฉํ์ฌ ์ฒซ ๋ฒ์งธ ๋ ๋๋ง์ธ์ง ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค.
ย const isFirstRender = useIsFirstRender();
โ
ย // useEffect๋ ๋ชจ๋ ๋ ๋๋ง์์ ์คํ๋์ง๋ง, isFirstRender ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ
ย // ์ฒซ ๋ฒ์งธ ๋ ๋๋ง์ผ ๋๋ง ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค.
ย useEffect(() => {
ย ย if (isFirstRender) {
ย ย ย console.log("์ด ์ฝ๋๋ ์ฒซ ๋ฒ์งธ ๋ ๋๋ง์์๋ง ์คํ๋ฉ๋๋ค!");
ย ย ย // ์ฒซ ๋ฒ์งธ ๋ ๋๋ง์๋ง ์ํ๋์ด์ผ ํ๋ ์์
์ ์ฌ๊ธฐ์ ์ํํ์ธ์.
ย } else {
ย ย ย console.log("์ด ์ฝ๋๋ ๋ ๋ฒ์งธ ์ดํ ๋ ๋๋ง์์ ์คํ๋ฉ๋๋ค!");
ย ย ย // ๋ ๋ฒ์งธ ์ดํ ๋ ๋๋ง์ ์ํ๋์ด์ผ ํ๋ ์์
์ ์ฌ๊ธฐ์ ์ํํ์ธ์.
ย }
โ
ย ย // ๋ชจ๋ ๋ ๋๋ง์์ ์คํ๋์ด์ผ ํ๋ ์ ๋ฆฌ ์์
์ด๋ ์์
์ ์ฌ๊ธฐ์ ์ํํ์ธ์.
โ
ย ย // eslint-disable-next-line react-hooks/exhaustive-deps
}, []); // ๋น ์์กด์ฑ ๋ฐฐ์ด์ ์ด useEffect๊ฐ ๋ง์ดํธ์ ์ธ๋ง์ดํธ ๋๋ง ์คํ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
โ
ย // ๋๋จธ์ง ์ปดํฌ๋ํธ ๋ก์ง์ ์ฌ๊ธฐ์ ์์ฑํ์ธ์.
โ
ย return (
ย ย <div>
ย ย {/* ์ปดํฌ๋ํธ์ JSX ๋ถ๋ถ */}
ย ย </div>
);
};
โ
export default MyComponent;Hook
Last updated