未定义不是navigationOptions内部的对象

时间:2019-10-04 12:54:11

标签: react-native navigation loading

我想创建一个加载屏幕,并在未定义/定义值时将其设置为true或false。我的错误是:“未定义不是对象(正在评估navigation.state.params.changeLoadingState)”。 console.log(JSON.stringify(navigation.state.params))的输出为{"isLoadingState":false,"usernameValue":"MyUsername"}

这是我的代码:

设置状态以及setParams

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

  const isLoadingState = this.state.isLoading;

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

NavigationOptions

const { params = {} } = navigation.state;

if (typeof params.usernameValue !== "undefined") {
  navigation.state.params.changeLoadingState(false);
} else {
  navigation.state.params.changeLoadingState(true);
}

在构造函数内部的this.state=中,

isLoading设置为false。错误出现在else语句中的代码行中。

undefined is not an object(evaluating navigation.state.params.changeLoadingState)

但是,如果我删除else语句,则if语句不起作用,它不会更改任何内容。

有人知道我该如何解决吗?我不明白。

感谢您的帮助,感谢您的时间

0 个答案:

没有答案