将this.state.isLoading设置为false的函数在navigationOptions中不起作用

时间:2019-10-07 08:43:22

标签: react-native

我正在this.state=内设置isLoading:false,但是它不起作用。什么都不会设为假或真

static navigationOptions = ({ navigation }) => {
    const { params = {} } = navigation.state;

    if (navigation.state.params instanceof Object) {
      console.log("OBJECT");
      if (typeof params.usernameValue !== "undefined") {
        console.log("FALSE");

        );
        navigation.state.params.changeLoadingState(false);
      } else {
        console.log("TRUE");
        navigation.state.params.changeLoadingState(true);
      }
    }
}

其余


componentDidMount = () => {
    const changeLoadingState = isLoadingState =>
      this.setState({ isLoadingState });

    const isLoadingState = this.state.isLoading;

    this.props.navigation.setParams({
      isLoadingState: false,
      changeLoadingState
    });
}

控制台日志显示为FALSE,因此它位于IF语句中,但不会将loadingState更改为false。就像changeLoadingState不起作用。 navigation.state.params = {“ isLoadingState”:false}的输出。

为什么我的isLoading状态不会更改为false?请帮我一个人,我真的很感激!

1 个答案:

答案 0 :(得分:1)

您是否尝试过这样设置状态?

this.setState({ isLoading: isLoadingState });