【问题标题】:react-native navigation 5 undefined params反应原生导航 5 个未定义的参数
【发布时间】:2020-12-16 07:58:37
【问题描述】:

我遇到了 react-native/navigation 的问题。我正在使用

npm -> 6.14.8
node -> 14.15.0
pod -> 1.10.0

// package.json
"react": "16.13.1",
"react-native": "0.63.3",
"@react-navigation/bottom-tabs": "^5.11.2",
"@react-navigation/native": "^5.8.10",
"@react-navigation/stack": "^5.12.8"

我在屏幕参数和门未定义之间传递

//Homescreen.js 常量 HomeScreen = ({ 导航 }) => { 返回( { navigation.navigate('Shop', { value: 'Shop' }) }}> 去商店 )}

//ShopScreen.js
const ShopScreen = ({ route, navigation }) => {
  // const { value } = route.params // get error
  console.log(route) // get {"key": "Shop-BJc0xwbAXOUpmKPB424H0", "name": "Shop", "params": undefined}
  console.log(route.params) // get undefined
  console.log(route.params?.value) // get undefined
  return (
    <>
      <Button
        title="Go to Home"
        onPress={() => navigation.navigate('Home', { value: 'Home' })}
      />
      <ShopContainer />
    </>
  )
}

// rootNavigator.js
    function HomeStackScreen(props) {
  return (
    <HomeStack.Navigator initialRouteName={'Home'}>
      <HomeStack.Screen
        name={'Home'}
        component={HomeScreen}
        options={{
          headerTitle: () => <Logo />,
          headerRight: () => <SideContainer />,
          headerLeft: () => <SideContainer image={VIDEOCAM} />
        }}
      />
    </HomeStack.Navigator>
  )
}

function ShopStackScreen(props) {
  return (
    <ShopStack.Navigator initialRouteName={'Shop'}>
      <ShopStack.Screen
        name={'Shop'}
        component={ShopScreen}
        options={{
          headerTitle: () => <Logo />
        }}
      />
    </ShopStack.Navigator>
  )
}

【问题讨论】:

  • 您可以尝试相同的方法,但使用推送而不是导航?只是看看这是否会改变一些东西
  • 可以分享导航容器吗?
  • 它的工作,但不是将我重定向到商店或主屏幕@LeoOdishvili
  • 使用push('Home', {value: 'Home'}) 不会将我重定向到特定屏幕
  • @OAslan,我分享导航容器

标签: javascript react-native navigation react-native-navigation


【解决方案1】:

您需要使用此结构在屏幕之间传递参数。

navigation.navigate('MainNavigationName', {
        screen: 'ScreenNameToNavigate',
        params: { propertyKey: propertyValue },
      })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-11
    • 2018-08-05
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 2021-09-16
    • 2019-01-11
    相关资源
    最近更新 更多