본문 바로가기
React

React 학습중 객체에 인자 전달 시에 생긴 의문점 해결과정

by mickey7 2023. 9. 29.

App.js

 

Todo는 useReucer의 배열의 첫번째 인자로 초기 State값 , mockTodo는 배열인데 객체 2개를 담고 있음(content1, content2)

 

Todolist.js

 

getsearchResult 함수의 반환값을 그냥 Todo로 고려해도 무방!

 

 

객체 it를 {…it}를 활용해서 객체요소 전달 (ex .  { Id: 1, content : 조깅 , isDone:flase} —>props객체 안에 담김)

 

Todoitem.js

 

Todolist에게 받은 id를 onUpdate에 인수로 넣어서 실행하는 onChangeCheckbox함수

 

App.js

 

dispatch({Type:”UPDATE”, targetID})

 

content1은 TodoItem key=“1”

content2은 TodoItem key=“2”

 

targetId는 결국 TodoItem 요소가 렌더링되면서 받은 Id를 의미!

 


오늘의 의문점

 

OnUpdate는 Todoitem에서 리스트 요소를 클릭했을 때 id를 입력값으로 받아오는데

targetId는 이름:값 형식으로 지정되어있지 않고 그냥 값만 덩그러니 써져있는데 어떻게 이해해야하나 의문점이 생김.

{이름 : 값} 형식이 아니라 위와 같이 인자에 들어가는 이름과 객체 안의 이름이 같을 때는 

targetId : 실제 인자에 해당하는 값(targetId가 1이면 1)으로 생각하기


 

reducer함수에서 state(배열)의 map메소드를 활용해 값을 읽어들일때 action(객체)의 targetId로 불러올 수 있다.