setState2 setState 콜백 함수 처리 setState는 비동기로 동작하기 때문에 함수에 다른 것들과 같이 넣어놓으면 순서 상관없이 알아서 돈다. setState 시 첫번째 인자로 state의 값을 넣고 두번째 인자로 콜백함수를 정의할 수 있다. this.setState({test: true}, function(){함수구현}) 위와 같이 작성할 경우 state의 값이 변경된 후 뒤의 함수를 실행한다. 2023. 1. 11. setState 객체에 값 넣고 싶을때 개발을 하면서 state에 꼭 하나의 값이 아닌 객체로 잡아야하는 경우가 생긴다. 예를 들어 어떤 주문과 관련된 상태와 로딩창의 오픈 여부를 같은 컴포넌트에서 구현해야 하는 경우 state = { olderInfo: { 주문자: aa, 가격: bb, 등등 }, loadingImg: false } 위와 같이 표현할 수 있겠는데 나도 위와 같이 작성 후 setState로 주문자의 데이터만 바꾸려고 이전에 알고있는대로 시도를 해보니 어떻게 해도 원하는대로 동작을 하지 않았다. 우선 원인으로는 렌더링은 state 값이 변경될 때 되는데 loadingImg와 같은 단순 값은 다른 값이 들어왔을때 변화가 되었다는 것을 바로 알 수 있지만 객체의 경우 해당 주소값을 조회하기 때문에 안의 값이 바뀐다고 하더라도 주소가.. 2023. 1. 11. 이전 1 다음