簡體   English   中英

React Navigation:'navigation.state.params' 在'static navigationOptions' 中始終未定義

[英]React Navigation: 'navigation.state.params' is always undefined in 'static navigationOptions'

我的問題的核心是當我在我的導航選項中有這個時:

static navigationOptions = ({ navigation }) => {
    console.log(navigation)
    console.log(navigation.state)
}

第一個“console.log”語句返回帶有“navigation.state.params”的導航對象,其中包含我傳遞給它的參數。

但是,第二個“console.log”返回“navigation.state”對象,但由於某種原因“params”未定義。

這是我設置導航參數的方式(來自 redux):

function mapStateToProps(state, props) {
    let sum = 0
    for (let product in state.cart) {
        sum += state.cart[product]
    }
    return props.navigation.state = {params: {cartSum: sum}}
}

我的開發環境:

節點 6.10.1
反應本機 0.46.4
終極版 3.7.1
反應減少 5.0.5
反應導航 1.0.0-beta.11

像這樣使用

static navigationOptions = ({ navigation }) => {
    const { params = {} } = navigation.state;
    console.log(params)**will show you the handlesave with object value hello**
};

this.props.navigation.setParams({ handleSave: "Heloo" });

也許這可以幫助你,謝謝

可以通過在組件類中實現一個方法來解決這個問題。

getNavigationParams() {
        return this.props.navigation.state.params || {};
    }

這將使您可以訪問參數。 但它不適用於嵌套對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM