inflearn logo
강의

講義

知識共有

本番リアクトプログラミング

コンテキストAPIにデータを渡す

선생님과 똑같이 했는데 다 rendering 됩니다.

205

scmoon

投稿した質問数 23

0

선생님 말씀에 의하면 
아래와 같이 넣으면 greeting 컴포넌트는 랜더링이 안된다고 하셨는데요. 
<UserContext.Provider value ={user}>
 
콘텍스트 API로 데이터 전달하기 강의에서 
선생님과 똑같이 했는데 다 프로파일 컴포넌트와 그리팅 컴포넌트가 다 rendering 됩니다.
 
무엇이 잘못 된 것일까요?
길지 않아 소스를 아래에 넣습니다.
 
=======소스 =========
import './App.css';
import {createContext, useContext, useState} from "react";

export const UserContext = createContext({username:'unknown', age:0});

export default function App() {
const [user, setUser] = useState({username:'scmoon',age:19})
const [count, setCount] = useState(0);
console.log('app render')
return (
<div>
<UserContext.Provider value ={user}>
<Profile/>
<button onClick={()=>{setCount(count+1)}}> 증가 </button>
</UserContext.Provider>

</div>
);
}

function Profile(){
console.log('profile render..')

return (
<div>
<Greeting/>
</div>
);
}

function Greeting(){
console.log('greeting render..');
const {username} = useContext(UserContext);
return `${username} 님 안녕하세요. `
}
 
=====console 결과 ========
app render App.js:25 profile render.. App.js:35 greeting render.. App.js:12 app render App.js:25 profile render.. App.js:35 greeting render.. App.js:12 app render App.js:25 profile render.. App.js:35 greeting render.. App.js:12 app render App.js:25 profile render.. App.js:35 greeting render.. App.js:12 app render App.js:25 profile render.. App.js:35 greeting render.. App.js:12 app render App.js:25 profile render.. App.js:35 greeting render..
 
 

redux react

回答 1

0

landvibe

안녕하세요
말씀하신 내용은 Profile 컴포넌트를 React.memo 로 래핑해야 동작합니다
영상 5:07 부분의 코드를 참고하시면 될 것 같아요

자동완성기능이 안되네요 ..

0

504

3

화면에 에러가나네요 ...

0

517

2

setValue 함수 질문 있습니다.

0

842

1

찾아야한다 실습 문의

0

471

1

훅 기초 익히기 - 배치 처리와 순차적 처리의 차이

0

476

1

cra, next.js 관련 질문 드립니다!

0

606

1

useState 배열 비구조화 문법 질문!

0

256

1

Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'

1

1087

2

Saga 오류 이거 혹시 왜이런지 알수 있을까요?

0

374

2

http://localhost:3001/user/search?keyword=u 이걸로 데이터를 보는데 저는 사이트에 연결할 수 없다고 나오네요

0

663

1

match

1

498

1

버튼이 생성되지 않습니다 .

0

288

1

혹시 import 옆에 파일 사이즈 표시 어떻게 하나요?

0

263

1

saga 문제

0

249

1

에러가 발생하는데 이유가뭘까요..?

0

392

2

컴포넌트와 컨테이너의 기준

0

316

1

커스텀훅의 개념과 함수차이

1

1199

1

useEffect 실전 활용법(1) 강의에서 질문있습니다.

0

339

1

리덕스, 사가파일들의 관리

0

209

1

useImperativeHandle 질문 입니다.

0

283

1

컴파일 문의드립니다.

0

207

1

React.memo 관련 질문이 있습니다.

0

378

1

Context API vs Redux 사용 빈도

0

215

1

10분도 안들었는데 환불안됩니까?

0

280

1