React__[useCallback]
On.
useCallback
✔useCalbackの正しい使い方は、2つのコードを例に挙げてまとめます!import axios from 'axios';
import {useState, useEffect} from 'react';
>
const Header: React.FC<Props> = ({user}) => {
const [name, setName] = useState<string>("Jaewon Lee");
>
const fetch= async (userData) => {
const getName = await axios.get(`url/${userData.id}`);
return getName.data;
}
>
useEffect( ()=> {
const getUserName = async () => {
setName(await fetch(user));
}
>
getUserName();
}, [fetch])
>
return (<>...</>)
}
✔¥上記の例では、なぜusCalBackを使うのかよく説明しています.
勘定科目の勘定科目1. Header 컴포넌트가 렌더링 된다.
2. useEffect 내부의 <getUserName> 이라는 비동기 함수를 실행시킨다.
3. <fetch> 함수로부터 리턴 받는다.
4. setName을 통해 리턴받은 데이터로 name이라는 state를 바꿔준다.
5. state 변경? 👉 컴포넌트 다시 렌더링
6. 5번을 기준으로 렌더링 이전의 <fetch>와 이후의 <fetch>는 다르다! (<fetch>가 저장되었던 메모리 주소값이 다르기 때문이야!)
7. <fetch>가 바꼈네? 👉 useEffect 다시 실행
8. Wow 무한루프 탄생!! ㅊㅋㅊㅋ
前述のような場合の問題を、「関数の同等性」と呼びます.これを解決するには、useCallbackを使用します.
✔useCallbackの2番目のパラメータには、2479142を再レンダリングするために変更された値が必要ですが、以前の関数がuseCallbackの役割であることを覚えておいてください.
✔¥以下は上のコードで抽出部分のみ使用したuseCallback形式で書かれたコードです!... 중략
>
const fetch= useCallback(async (userData) => {
const getName = await axios.get(`url/${userData.id}`);
return getName.data;
}, [user])
>
... 중략
Off.
フロントとバックグラウンドのリーダーになるまで。🔥🔥🔥
Reference
この問題について(React__[useCallback]), 我々は、より多くの情報をここで見つけました
https://velog.io/@hongin/ReactuseCallback
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
import axios from 'axios';
import {useState, useEffect} from 'react';
>
const Header: React.FC<Props> = ({user}) => {
const [name, setName] = useState<string>("Jaewon Lee");
>
const fetch= async (userData) => {
const getName = await axios.get(`url/${userData.id}`);
return getName.data;
}
>
useEffect( ()=> {
const getUserName = async () => {
setName(await fetch(user));
}
>
getUserName();
}, [fetch])
>
return (<>...</>)
}
... 중략
>
const fetch= useCallback(async (userData) => {
const getName = await axios.get(`url/${userData.id}`);
return getName.data;
}, [user])
>
... 중략
フロントとバックグラウンドのリーダーになるまで。🔥🔥🔥
Reference
この問題について(React__[useCallback]), 我々は、より多くの情報をここで見つけました https://velog.io/@hongin/ReactuseCallbackテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol