☀️ 기상시간 - 9:30
🌕 마감시간 - 25:30
❌ 취침시간이 너무 늦어진 탓에 늦잠자게 된다.
❌ 점심약속때문에 오전 찔끔 오후 찔끔 시간을 낭비했다ㅠㅠ 약속은 되도록 밤에 잡는걸로..
shouldConponentUpdate
- 컴포넌트에 아무런 변경사항이 없음에도 계속해서 render함수가 실행되는 것은
프로그램상 비효율적.
-> 비효율적인 실행의 유무를 결정할 수 있기 위한 함수
- ❶ render함수 이전에 실행된다.
- ❷ return되는 값을 무조건 true로 설정하면 render함수가 호출되고, false로 설정하면 render함수가 호출되지 않음
- ❸ 새로 변경된 값(배열)과 원본 값(배열)에 접근할 수 있다.
► 예제에서
if(this.props.data === newProps) {
return false;// 변경된 값이 없으므로 render함수가 실행되지 않게 함
} return true; //변경(입력)된 값이 있는 것이므로 render함수가 실행되어 새로운 항목이 형성됨
========> 이는 concat으로 입력했을 때 가능
리액트의 기본 동작은 애플리케이션을 구성하고 있는 컴포넌트에서 발생하는 모든 변경사항에 대해서 다시 렌더링 하는 것이고 대부분의 경우 이 이러한 기본 동작에 맡겨도 정상적으로 동작합니다.
하지만 불필요한 re-render는 컴포넌트의 라이프 사이클 압장에서 봤을 때, Best practice일 수 없습니다.
각각의 컴포넌트들은 shouldComponentUpdate라는 메소드를 가지고 있고 이것은 state가 변경되거나 부모 컴포넌트로부터 새로운 props를 전달받을 때 실행됩니다. React는 이 메소드(shouldComponentUpdate)의 반환 값에 따라서 re-render를 할지에 대한 여부를 결정하게 됩니다.
✅만약 push로 입력하고 싶다면?
push를 사용하여 데이터 추가를 할 경우
immutable
form
value값에 props을 지정해버리니까 read only인 props때문에 react내에서 개입하여서 다른 조작을 하지 못하게 막음
-> 컴퍼넌트 안에서 value값을 state화를 시켜줌
Refactoring
강의를 듣다가 흘려 말하신 단어가 생각나서 한국어로 리서치해서 찾은 개념.
물론 아직 프로그램 구현도 하지 못하는 완전 풋내기지만//
이미 작성한 코드에서 구현된 일련의 행위들을 변경 없이, 코드의 가독성과 유지보수성을 높이기 위해 내부구조를 변경하는 기법
이는 성능 최적화와는 말이 다르다.
미래의 나는 혼자가 아닌 여러 사람들과 협업을 해야 할텐데, 협업을 하는 사람들이 이해할 수 있는 코드를 작성하는 것이 중요하다.
아무것도 모를때부터 알아두면 좋을 것 같은 기법(?)