将道具传递到屏幕

时间:2020-10-05 09:28:26

标签: react-native

如何通过导航将道具传递到屏幕?我正在尝试以下操作:

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

但是道具不会传播到渲染屏幕的功能组件。将道具传递到屏幕的正确方法是什么?我的应用程序模块:

navigation.push('User', {auth_user: true});

UserDetailScreen.js:

const Stack = createStackNavigator();

function MyStack() {
  return (
    <Stack.Navigator>
      <Stack.Screen name="Logout" component={LoginScreen} />
      <Stack.Screen name="User" component={UserDetailScreen} />
    </Stack.Navigator>
  );
}

export default function App() {
  return (
    <NavigationContainer>
      <MyStack />
    </NavigationContainer>
  );
}

1 个答案:

答案 0 :(得分:1)

要使参数传递到react-navigation v5中的屏幕,请使用:

在功能组件中:

const auth_user = props.route.params.auth_user;

在类组件中:

const auth_user = this.props.route.params.auth_user;