간텔
75
2021-02-24 16:33:00
1
98

history가 undefined일때


Route에 없는 컴포넌트라서 withRouter로 감쌌는데도 props.history가 undefined로 뜨는 경우 어떻게 해결할 수 있을까요? 뒤로가기로 props.history.goBack(); 을 실행했는데 

Cannot read property 'goBack' of undefined

이렇게 뜨네요..

0
  • 답변 1

  • John Suhr
    4k
    2021-02-24 17:16:24 작성 2021-02-24 17:16:31 수정됨

    부모 함수를 호출해서 처리하세요

    const Parent = () => {
      const history = useHistory();
    
      const onAction = () => {
        ... some logic
        history.goBack();
      };
    
      return (
        ..
    
       <Child onAction={ onAction } ... />
      );
    }
    
    const Child = ({ onAction }) => {
      const onComplete = () => {
        ...
        onAction();
      };
      return (
        <form>
          ...
          <button onClick={ () => onComplete() }>...</button>
        </form>
      )
    };


  • 로그인을 하시면 답변을 등록할 수 있습니다.