簡體   English   中英

React Native route.params 未定義

[英]React Native route.params is undefined

我一直在嘗試使用 navigation.navigate('Merchant', store) 將數據從 home.js 屏幕傳遞到 Merchant.js 屏幕,但是當我嘗試實際使用 route.params 時,我得到了未定義。

這是我的 home.js

export default function Home( { navigation }) {
...
{storeData.map(store => {
    return (
     <View>
      <TouchableOpacity>
        <Text style={styles.categoryName}
          onPress={() => {navigation.navigate('Merchant', store)}}>
         {store.name}
        </Text>
      </TouchableOpacity>

商人.js

function Merchant({ navigation, route }) {
    console.log(route);
...
}

Output:

{“key”:“Merchant-86K9u5ytF32VGMRcO9s2g”,“name”:“Merchant”,“params”:未定義}

我再次不知道發生了什么。 我試過navigation.push(),我試過使用navigation('Merchant', {name: store.name}),但我仍然沒有定義。

如果您想使用我的堆棧導航粘貼更多代碼,我可以。

你試過這個嗎?

navigation.navigate('Merchant', store)

通過以下方式訪問值:

navigation.getParam('onePropertyOfStoreHere');

好吧,所以我想出了為什么它是未定義的。 這是因為我有另一個堆棧,頂部是 Merchant.js。

<Stack.Navigator initialRouteName="Merchant" headerShown='false'>
    <Stack.Screen name="Merchant" component={Merchant} />
    <Stack.Screen name="ProductInfo" component={ProductInfo}/>
  </Stack.Navigator>

當我從主屏幕移動到商家屏幕時,這一定會使應用程序感到困惑,但它進入了另一個堆棧。

暫無
暫無

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

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