react history replace, push, etc.. navbar not re render

2021. 1. 19. 13:58JavaScript/React

react history replace, push, etc.. navbar not re render

내 로직

  • 로그인 로직처리 후에 로그인이 성공되면 sessionStroage에 usename을 넣는다.
  • 이 때 navbar에서 sessionStorage에 있는 값으로 로그인 여부를 판별하고 있었다

문제점

  • 로그인 성공을 하면 navbar에 로그인 버튼을 로그아웃 버튼으로 변경시켜야 하는데
history.replace('/')
  • 위 코드는 rerender하지 않고 있었다..

해결

const HeaderLinks = ()=>{

}

export default HeaderLinks
//위 코드를 아래 코드로 변경!!

import { Link,withRouter } from "react-router-dom";
export default withRouter(HeaderLinks)