탐색 후 dispatchin 작업으로 돌아오는 반응 native

0

질문

나는 시도를 소개하는 인증 반응하는 기본 응용 프로그램 돌아오는 후에 파견 로그인 작업입니다.코드에서 로그인 화면:

const dispatch = useDispatch();
const auth = useSelector(state => state.authentication);

const onSubmit = (data: {email: string; password: string}) => {
  dispatch(loginUser(data));
  auth.isAuth && navigation.navigate('Home');
};
의 코드 작업 로그인:

export const loginUser = data => async dispatch => {
  try {
    const res = await axios({
      method: 'post',
      url: `${API_URl}/auth/login`,
      data,
    });
    dispatch({type: LOGIN_SUCCESS, payload: res.data});    
  } catch (error) {
    dispatch({type: GET_ERRORS, payload: error.response.data});
    dispatch({type: LOGIN_FAILED, payload: error.response.data});
  }
};
에 대한 코드를 흡진기를 위:

 case LOGIN_SUCCESS:
 case REGISTER_SUCCESS:
      return {
        ...state,
        user: payload.user,
        isAuth: true,
        message: null,
      };

나는 원하는 이동하는 다른 화면으로'집'이 완료되지 않에 대한 후 처음으로 디스패치 로그인 행동만을 처리하고 있음이 확인되는 상태가 변경되었: 입력한 이미지 설명 후에 콘솔 버튼을 눌러 로그인

1

최고의 응답

0

당신이 전화 onSubmit는 전화 loginUser. 에 loginUser 하지만,당신이 있는 API 를 통하는 비동기는 것을 의미하는 바를 호출한 후 loginUser, auth.isAuth 항상 있을 것이 거짓입니다.

당신이 필요가 있는지 확인 auth.isAuth === truecomponentDidMount 귀하의 로그인 화면을 사용하거나 뭔가 redux-observable 에 반응하는 작업 중인을 파견하고 수행 할 수있다.

2021-11-24 01:04:12

를 사용하려고 노력 검증 인증 및 검 useEffect 으로 배열의 종속성 emty 하지만 문제졌다.
smichi

가 무엇인지 살펴보고 문서의 반응을 탐색한 인증 흐름: reactnavigation.org/docs/auth-flow
romin21

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................