React Native - 导航导航但不在 android/ios 上呈现元素,但在网络上完美呈现
React Native - Navigation navigates but does not render elements on android/ios but renders on web perfectly
出于某种原因,当我在 Web 上(使用 Expo)运行 时,我可以看到这些元素,当我单击“运行 in web browser”时,它们会完美呈现。
然而,当我尝试在 iOS 或 Android 上执行此操作时,它只显示一个空白屏幕并且只显示 LinearGradient。
当我 运行 Android 模拟器并将其与 React Native Dev 工具结合使用时,我可以在 devtool 中看到元素,但它们不会显示在模拟器中。我尝试呈现的组件称为 Login.tsx,如果我将 Login.tsx 中的所有内容复制到我的 App.tsx,它会在 Web 上完美呈现,Android 和 iOS .
我做错了什么?
const Stack = createNativeStackNavigator();
const Navigation: React.FC = () => {
return (
<NavigationContainer>
<Stack.Navigator
initialRouteName="Login"
>
<Stack.Screen
name="Login"
component={Login}
/>
<Stack.Screen
name="LostPassword"
component={LostPassword}
/>
<Stack.Screen
name="Register"
component={Register}
/>
</Stack.Navigator>
</NavigationContainer>)
}
export default Navigation;
const App: React.FC = () => {
return (
<LinearGradient
colors={["#2D1C96", '#190E60']}
style={styles.linearGradient}
>
<View style={styles.container}>
<Navigation />
<Toast ref={(ref) => Toast.setRef(ref)} />
</View>
</LinearGradient>
);
}
解决了。
对于面临相同问题的任何人:
NavigationContainer 不应在视图内。它应该用作根组件
出于某种原因,当我在 Web 上(使用 Expo)运行 时,我可以看到这些元素,当我单击“运行 in web browser”时,它们会完美呈现。
然而,当我尝试在 iOS 或 Android 上执行此操作时,它只显示一个空白屏幕并且只显示 LinearGradient。
当我 运行 Android 模拟器并将其与 React Native Dev 工具结合使用时,我可以在 devtool 中看到元素,但它们不会显示在模拟器中。我尝试呈现的组件称为 Login.tsx,如果我将 Login.tsx 中的所有内容复制到我的 App.tsx,它会在 Web 上完美呈现,Android 和 iOS .
我做错了什么?
const Stack = createNativeStackNavigator();
const Navigation: React.FC = () => {
return (
<NavigationContainer>
<Stack.Navigator
initialRouteName="Login"
>
<Stack.Screen
name="Login"
component={Login}
/>
<Stack.Screen
name="LostPassword"
component={LostPassword}
/>
<Stack.Screen
name="Register"
component={Register}
/>
</Stack.Navigator>
</NavigationContainer>)
}
export default Navigation;
const App: React.FC = () => {
return (
<LinearGradient
colors={["#2D1C96", '#190E60']}
style={styles.linearGradient}
>
<View style={styles.container}>
<Navigation />
<Toast ref={(ref) => Toast.setRef(ref)} />
</View>
</LinearGradient>
);
}
解决了。
对于面临相同问题的任何人:
NavigationContainer 不应在视图内。它应该用作根组件