반응에 종속성 배열이 있거나 없는 useEffect
4727 단어 reactwomenintechwebdevbeginners
import React, { useState } from "react";
export default function App() {
const [count, setCount] = useState(0);
const [data, setData] = useState(0);
React.useEffect(() => {
console.log("useEffect called!");
});
return (
<div className="App">
<label>count </label>
<button
onClick={() => {
setCount(count + 1);
}}
>
{count}
</button>
<hr />
<label>data </label>
<button
onClick={() => {
setData(data + 1);
}}
>
{data}
</button>
</div>
);
}
})
위의 스니펫에는 종속성 배열이 없으므로 state 또는 props가 변경될 때마다 호출됩니다.
이 문제를 해결하기 위해 종속성 배열을 사용할 수 있습니다.
//rest of the code is same
React.useEffect(() => {
console.log("useEffect called!");
},[data]); //adding dependency array
위 스니펫에는 종속성 배열이 있으므로 구성 요소가 마운트될 때만 먼저 호출되고 해당 배열의 종속성(데이터)이 변경되면 두 번째로 호출됩니다.
또한 둘 이상의 종속성이 있을 수 있습니다.
Reference
이 문제에 관하여(반응에 종속성 배열이 있거나 없는 useEffect), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aasthapandey/useeffect-in-react-3flb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)