iOS上的React Navigation v3 BottomTabNavigator黑屏

问题描述 投票:1回答:1

我正在测试React Navigation BottomTabNavigator但是在ios模拟器中运行后我得到了一个黑屏。

重现步骤:

  1. 创建反应原生项目react-native init Example
  2. 安装并链接react-navigation和deps npm install --save react-navigation react-native-gesture-handler && react-native link react-native-gesture-handler
  3. 将App.js内容替换为:
import React from 'react';
import { Text, View } from 'react-native';
import { createBottomTabNavigator, createAppContainer } from 'react-navigation';

class HomeScreen extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
        <Text>Home!</Text>
      </View>
    );
  }
}

class SettingsScreen extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
        <Text>Settings!</Text>
      </View>
    );
  }
}

const TabNavigator = createBottomTabNavigator({
  Home: HomeScreen,
  Settings: SettingsScreen,
});

export default createAppContainer(TabNavigator);
  1. 然后在模拟器react-native run-ios中运行

我也尝试删除node_modules,构建文件夹和清理npm缓存和模拟器内容。

reactjs react-native react-navigation
1个回答
0
投票

如果您没有收到错误,可能只是因为您没有在<View>标签上设置背景颜色。

试试这个:

import React from 'react';
import { Text, View } from 'react-native';
import { createBottomTabNavigator, createAppContainer } from 'react-navigation';

        class HomeScreen extends React.Component {
          render() {
            return (
              <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor:'#fff' }}>
                <Text>Home!</Text>
              </View>
            );
          }
        }

        class SettingsScreen extends React.Component {
          render() {
            return (
              <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor:'#fff' }}>
                <Text>Settings!</Text>
              </View>
            );
          }
        }

    const TabNavigator = createBottomTabNavigator({
      Home: HomeScreen,
      Settings: SettingsScreen,
    });

    export default createAppContainer(TabNavigator);

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.