관리 메뉴

흰둥씨의 개발장

[React] useHistory나 history는 없어져서 useNavigate써야함 본문

끙끙거린 흔적

[React] useHistory나 history는 없어져서 useNavigate써야함

돈워리비해삐 2023. 6. 7. 22:57
// 1. import { withRouter } from 'react-router-dom'; history 기능은 없어짐
// 2. import { useHistory } from 'react-router-dom'; useHistory라는 훅도 없어짐
import { useNavigate } from 'react-router-dom';  //history대신 useNavigate써야함

(...중략...)

const RegisterForm = () => {
  const dispatch = useDispatch();
  const navigate = useNavigate();

  const { form, auth, authError, user } = useSelector(({ auth, user }) => ({
    form: auth.register,
    auth: auth.auth,
    authError: auth.authError,
    user: user.user,
  }));

(...중략...)

  //user값이 잘 설정 되었는지 확인
  useEffect(() => {
    if (user) {

   // 1.  history.push('/') 없어짐 2. useHistory도 없어짐
  
      navigate('/'); //이거 써야 함
    }
  }, [navigate, user]);

  return (
    <AuthForm
      type="register"
      form={form}
      onChange={onChange}
      onSubmit={onSubmit}
    />
  );
};

export default RegisterForm;