728x90
반응형
해당 내용은 유튜브 코딩애플님의 채널에서 공부하여 작성된 내용임을 밝힙니다.
onClcik={ 제목바꾸기함수( ) }
이때 함수에 괄호를 붙히면 바로 실행되기 때문에, 바로 실행이 아닌경우 괄호는 제외해야 한다.
리액트에서 useState로 생성된 데이터를 수정하기 위해선
특정 함수에 데이터를 복사한 다음 수정 후 변경 함수를 사용하여 수정하는 식의 진행이 좋다.
이러한 방식을 '리액트 대 원칙 : immutable data'라고 부른다.
let [글제목, 글제목변경] = useState(['남자 코드 추천','신제품 후기','음악 들어본 후기']);
var newArray = 글제목;
위와 같이 작성하는건 값을 복사하는게 아니라 값 공유이다.
똑같은 값을 공유하는거다. (refernce data type 임)
그래서 이러한 방식이 아닌 deep copy를 해야한다.
deep copy
값 공유x
서로 독립적인 값을 가지는 복사
[...글제목]
이렇게 중괄호와 ...를 사용해야한다.
<Array, Objact state 데이터 수정 방법>
- 일단 변경함수 써야함
- 변경함수 (대체할데이터)
** state는 직접 건들지 마센
1. 일단 기존 state 카피본 만들고
2. 카피본에 수정사항 반영하고 (deep copy해서 그걸 수정 할 것!!!)
3. 변경함수()에 집어넣기
728x90
반응형