완전 이해를 한 건아닌데, 왜 props랑 state를 구분지어 쓰는 지 조..금 이해한 거 같아요.. 정말 감사드려요
props는 읽기전용이고, 값이 바뀌어질 수 없다.
state는 값이 바뀌어질 수 있고, 다만 컴포넌트 내부에서만 사용가능하다.
좋은 컴포넌트란 함수가 인자를 받을때 내부의 로직을 사용자가 이해할 필요없이 인자값만 함수사용목적에 맞게 잘 넣어주면 되는 것을 알면되는 것처럼 props을 잘 넣어주기만 하면 사용하기 편리하도록 만든 컴포넌트가 좋은 컴포넌트라고 봐도 되는 것이다,..(?) // 우선 이렇게 이해했는데 괜찮을지..
이상적인(?) 부모컴포넌트와 자식컴포넌트의 state와 props의 관계는,,,
부모컴포넌트에서 state의 값을 변경하며 사용하고 그 state값을 자식컴포넌트의 props의 값으로 넣어줘서 자식컴포넌트가 state를 props으로 넣어준 값을 사용할 수있도록해서 그 값을 사용하는 것이 이상적인 관계..
혹시 이해가 부족하거나, 이해를 위해 필요한 것이 있으면 도움주시면 정말 감사하겠습니다....!
15.3 강의 실습하고 있는 도중, <li key={data[i].id}> 이와 같이 key 값을 주었는데도, 오류가 발생합니다. CSS값이 로컬호스트페이지에 나와야하는데, HTML 값이 자꾸 나오네요.. TOC 소스코드는 해당 강의와 동일합니다.
Warning: Encountered two children with the same key, `1`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.
흑흑.. 리액트 어렵네요.. TOC의 <li>태그를 반복문으로 만드는 과정에서 <a href="1.html"> 부분을 <a href={"/content/" + data[i].id}> 이렇게 바꾸셨는데요. 여기서 "/content/" 이것은 어디를 참조한 데이터인지 모르겠습니다ㅠㅠ App.js에서 state로 "contents" 값을 설정할때 id, title, desc까지만 코드를 줬는데 a태그의 content는 어디서 나온걸까요?