>

react-router v4 를 사용하고 있습니다 . <Link> 를 클릭하면 혼란 스럽습니다.  구성 요소의 경로가 즉시 변경됩니다. 데이터를 가져 오기 전에 현재 경로를 유지하고 경로를 전환하지 않고 데이터를 가져 오려고합니다. 나는 react-router v3 에서 그것을 발견   onEnter 이있다  훅, 그러나 지금 react-router v4 더 이상 사용되지 않습니다. <Link> 를 클릭 한 직후에 데이터를 가져올 수있는 방법  구성 요소와 경로가 변경되기 전에?

예 :

그것은 : A 에서  -> <Link> to B 를 클릭하십시오  -> B 에 대한 데이터 페치  -> B 를 렌더링

not : A 에서  -> <Link> to B 를 클릭하십시오  -> Route B 를 렌더링  -> B 에 대한 데이터 페치  ->렌더링 B

  • 답변 # 1

    react-router v4 에서 , 당신은 render 를 사용할 수 있습니다   Route 에 소품   onEnter 를 교체   react-router v3 에 존재하는 기능

    react-router v3 와 같은 경로가 있다고 가정

    <Route path="/" component={Home} onEnter={getData} />
    
    

    react-router v4 에서 이것의 동등 물  

    <Route exact path="/" render= {() => {getData(); return <Home data={this.state.data}/>}} />
    
    

    그러나 제안 된 방법은 lifecycle 를 이용하는 것입니다.   component 의 방법 .

    Github 토론에서 :

    와이즈 비즈 와이즈 비즈

         

    더 이상 "경로 수명주기"가 없습니다. 대신

     이후
      구성 요소는 실제 구성 요소입니다 (s와 같은 의사 구성 요소는 아님)
      그들은) React의 라이프 사이클에 참여하게되었습니다.
      그냥 
    We have no lifecycle hooks that receive props on initial render.
    를 사용할 수 있습니다
    .

    따라서 제안 된 해결책 중 하나는 다음과 같습니다.

    와이즈 비즈 와이즈 비즈

    <Match>

  • 이전 c++ - 프로그래밍 방식으로 html에서 참조하는 모든 파일을 찾는 방법은 무엇입니까?
  • 다음 python - Google PageSpeed ​​점수 계산