【问题标题】:Cannot access props from inside navigationOptions无法从导航选项内部访问道具
【发布时间】:2018-01-19 17:04:14
【问题描述】:

我正在使用 StackNavigator 库,但不知道如何从 navigationOptions 中访问道具。

在我的呼叫课程中,我有:

navigate("TestView", { mdata: mdataObject })

在我的 TestView 类中,我有以下内容:

static navigationOptions = {
    title: this.props.navigation.state.params.mdata.title
}

但是,我收到以下错误:

找不到未定义的属性“导航”

我已经确认我可以从 componentDidMount() 函数访问this.props.navigation.state.params.mdata.title,所以那里有数据。

为什么我会从 navigationOptions 函数中收到此错误,我该如何解决?

另外,我将 navigateOptions 称为一个函数,但不确定它是否正确。我应该怎么称呼它?

【问题讨论】:

    标签: react-native navigation stack-navigator


    【解决方案1】:

    在 navigationOptions 访问导航道具:

    static navigationOptions = ({ navigation }) => ({
      title: navigation.state.params.mdata.title // your case
    })
    

    【讨论】:

    • 谢谢。如果组件在接收到导航参数之前就已经挂载,最终会被调用还是不会得到任何提示?
    • 它将被调用。
    • 嗯,这在早期工作,现在当我再次尝试时,我得到以下信息:`错误:'title'不能定义为'TestView'屏幕导航选项中的功能。有什么想法可能是什么问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    相关资源
    最近更新 更多