无法在已卸载的组件上执行React状态更新-React Native

时间:2019-11-22 12:13:55

标签: javascript reactjs

我在此组件中遇到此问题,这是代码:

const AuthLoading = props => {
  useEffect(() => {
    AuthFlow();
  });

  const AuthFlow = () => {
    if (!props.triedJWT) {
      props.getUserToken();
      return;
    }

    if (!props.jwt) {
      props.navigation.navigate('Auth');
      return;
    }

    if (!props.triedLogIn) {
      props.getUserInfo();
      return;
    }

    if (!props.user) {
      props.navigation.navigate('Auth');
      return;
    }

    props.navigation.navigate('App');
  };

  return (
    <View style={styles.screen}>
      <LoadingScreen />
    </View>
  );
};

我该如何解决?

getUserInfogetUserToken连接到Redux动作,并修改了jwttriedJWFtriedLoginuser道具。因此,在调用它们时,它们会重新呈现该组件。

也许这不是最好的方法?要使动作更改状态道具,以便当它们重新呈现时if条件是否不同?我也想知道这是否是普遍做法。

编辑:这是我得到的警告: enter image description here

谢谢!

0 个答案:

没有答案