[TIL] 2020/10/11

yongkini ·2020년 10월 11일
0

Today I Learned

목록 보기
49/170

Today, I Learned


  • 어제 만든 클론코딩 사이트에 검색 기능을 만들기에 도전했다. 그러다 하게된 삽질(?)에 대해서 정리해놓고자 한다.
    먼저, setState가 asynchronous, 즉, 비동기 처리라는 것을 알게 됐다.
    그래서 setState를 해준 다음에 바로 this.state에서 값을 받아서 쓸 때는 비동기처리와 동기처리가 이루어지는 것이기에 갱신이 안될 수 있다.
    즉, setState 이전의 값이 리턴됨. 따라서, setState를 await를 이용해서 써주었다.
    다음으로, input의 value를 어떻게 받아올 수 있을까 고민하다가 인터넷에서 찾아본 결과
    ref={(input) => {this.variableName = input}}이런식으로 input의 props에 주면 this.variableName에 input tag 값 자체가 할당된다.
    value를 받을 때는 this.variableName.value로 쓰면된다.
    마지막으로 검색 기능을 구현한 뒤에 뒤로가기 버튼을 눌렀을 때 같은 라우트에서 모든 것들이 동작하기에 실질적으로 뒤로가기가 되지 않는 문제가 생겼다.
    따라서, search를 하면 또다른 라우팅을 만들어주었다. 하지만, 그곳에서 현재 componentWillUnmount문제로 멈춰있는 상태이다.. 
    에러 내용 : 
    Warning: Can't perform a React state update on an unmounted component. 
    This is a no-op, but it indicates a memory leak in your application. 
    To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
    in Home (created by Context.Consumer)

Planning to Study


  • 에러 해결해서 검색 기능 확실히 완성시키기
profile
완벽함 보다는 최선의 결과를 위해 끊임없이 노력하는 개발자

0개의 댓글