【问题标题】:Navigating in Async function - React Navigation - React Native在异步函数中导航 - React Navigation - React Native
【发布时间】:2023-03-03 17:41:01
【问题描述】:

我试图在 ReactNative 中从一个组件导航到另一个屏幕。但是越来越关注

可能的未处理的 Promise Rejection,TypeError: undefined is not an object (evaluating 'navigation.navigate')]

以下是我的代码,我在其中等待获取地点详细信息,然后想要导航到包含这些详细信息的另一个屏幕。

constructor(props) {
super(props)
this.state = {status: 'initial'}
this._handlePress = this._handlePress.bind(this);
 }



_handlePress = async ({navigation}) => {
const res = await this.props.fetchDetails(this.props.place_id)
console.log('result', res.geometry.location.lat)
navigation.navigate("Home", {selectedLocation: res.geometry.location});

}

我也尝试过this.props.navigation.navigate(),但无法解决这个问题。

我得到以下信息:

[未处理的承诺拒绝:TypeError:未定义不是对象(评估'_this.props.navigation.navigate')]

以下是完整的组件代码:Pastebin Link

【问题讨论】:

    标签: javascript reactjs react-native ecmascript-6 react-navigation


    【解决方案1】:

    使用 withNavigation 方法,因为您已经从 react-navigation 导入了它。

    export default withNavigation(LocationItem);
    

    如果未解决,则将导航作为已使用的道具传递。

    <LocationItem navigation={this.props.navigation}/>
    

    【讨论】:

    • 虽然我只是假设您在导航方面遇到问题,因为您没有提到。
    • 我需要更多信息,您是否将此类用作其他类的组件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 2020-12-09
    相关资源
    最近更新 更多