멍청한 놈의 관점에서 useEffect 후크
단순히 구성 요소의 부작용을 관리하기 때문에 부작용이 무엇입니까?
부작용
부작용은 예를 들어 함수의 출력 값을 대상으로 하지 않는 모든 것이 될 수 있습니다.
코드 예:
import {react} from 'react'
function Greet({name}){
const message = "Hello, ${name}";
document.title = message; // this is a side-effect
return <div>{message}</div>
}
인수
useEffect 후크는 두 개의 인수를 허용합니다.
useEffect(callback function , [dependencies])
종속성 배열
종속성 배열 인수는 세 가지 형식일 수 있습니다.
import {react} from 'react'
function Greet({name}){
const message = "Hello, ${name}";
useEffect(()=>{
document.title = message;
})
return <div>{message}</div>
}
import {react} from 'react'
function Greet({name}){
const message = "Hello, ${name}";
useEffect(()=>{
document.title = message;
},[])
return <div>{message}</div>
}
import {react} from 'react'
function Greet({name}){
const message = "Hello, ${name}";
useEffect(()=>{
document.title = message;
},[name])
return <div>{message}</div>
}
청소
useEffect 후크는 항상 아무것도 반환하지 않거나 이 함수가 정리에 사용되는 함수를 반환할 것으로 예상합니다. 일부 부작용은 타이머를 정리하거나 소켓 연결을 닫는 것과 같은 정리가 필요합니다.
import {react} from 'react'
function Greet({name}){
const message = "Hello, ${name}";
const timer = useEffect(()=>{
setInterval(()=>{
document.title = message;
},2000)
return function cleanUp(){
clearInterval(timer);
}
},[name])
return <div>{message}</div>
}
최종 참고 사항:
비동기 함수는 약속을 반환하고 useEffect 후크는 항상 콜백 함수가 아무 것도 반환하지 않거나 정리 함수를 반환할 것으로 예상하기 때문에 콜백 함수는 비동기일 수 없습니다.
추가 리소스:
Dimitri Pavlutin 기사 => Link
Ben Awad 유튜브 비디오 =>
여기까지 오셨다면 이 글을 즐기시고 새로운 것을 배우셨기를 바랍니다^^ .
Reference
이 문제에 관하여(멍청한 놈의 관점에서 useEffect 후크), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/elhalwaguiahmedmohamed/useeffect-hook-from-the-prespective-of-a-noob-k77텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)