리액트에서 state의 직접 변경 하면 안되기 때문에 setState를 사용한다.
그렇기 때문에 배열에서도 push를 사용하기 보다는 concat을 사용하여 원본은 그대로 유지하는 것이 좋다.
push는 원본을 바꾸고, concat은 원본은 유지시키고 새로운 변수에 담을수 있다.
shouldComponentUpdate(newProps, newState){
return true;
return false;
}
render(){}
shouldComponentUpdate는 render 보다 먼저 실행이되고 return값이 true이면 render가 호출되고, false이면 render가 호출 되지 않는다.