javascript - 使用 Expo 和 Typescript 创建StackNavigator,不渲染任何内容

标签 javascript typescript react-native expo

更新:

Git Repo of NotWorkingProject


尝试使用

React Native 中的

react-navigation 包(Expo-Typescript)

与我们使用常规 React Native(Expo - Vanilla JS)的方式相同

但它不会在屏幕上渲染任何内容。


AppNavigator.tsx

import {createAppContainer, createStackNavigator} from 'react-navigation';
import * as React from 'react';
import {StyleSheet, View, Text} from 'react-native';

const styles = StyleSheet.create({
    container: {
        backgroundColor: '#f0f',
        flex: 1
    }
});

const HomeScreen = () => (
    <View style={styles.container}>
        <View>
            <Text>PLEASE PLEASE PLEASE RENDER THIS</Text>
        </View>
    </View>
);

HomeScreen.navigationOptions = {
    title: 'Home'
};

const AppNavigator = createStackNavigator({Home: HomeScreen});

export default createAppContainer(AppNavigator);

App.tsx

import React from 'react';
import { StyleSheet, Text, View, ViewStyle } from 'react-native';
import AppContainer from './navigation/AppNavigator'

const styles = {
  container: {
    flex: 1,
    backgroundColor: 'red',
    alignItems: 'center',
    justifyContent: 'center',
  } as ViewStyle
};


const App = (style:Object): {} => {
  const { container } = styles;
  return (
    <View style={container}>
      <AppContainer/>
    </View>
  );
}

export default  App;

如果需要:

package.json

{
  dependencies: {
    expo: "^34.0.1",
    react: "16.8.3",
    "react-dom": "^16.8.6",
    "react-native": "https://github.com/expo/react-native/archive/sdk-34.0.0.tar.gz",
    "react-native-gesture-handler": "^1.3.0",
    "react-native-web": "^0.11.4",
    "react-navigation": "^3.11.1"
  },
  devDependencies: {
    "@types/react": "^16.8.23",
    "@types/react-native": "^0.57.65",
    "babel-preset-expo": "^6.0.0",
    typescript: "^3.4.5"
  }
}

请让我知道出了什么问题。

最佳答案

您需要导入AppContainer

import AppNavigator from "./config/router";



    import React from 'react';
import { StyleSheet, Text, View, ViewStyle } from 'react-native';
import AppContainer from './navigation/AppNavigator'

const styles = {
  container: {
    flex: 1,
    backgroundColor: 'red',
    alignItems: 'center',
    justifyContent: 'center',
  } as ViewStyle
};


const App = (style:Object): {} => {
  const { container } = styles;
  return (

      <AppContainer/>

  );
}
export default  App;

关于javascript - 使用 Expo 和 Typescript 创建StackNavigator,不渲染任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57440630/

相关文章:

javascript - 更新后的变量未在函数外读取

javascript - 如何避免标题标签中的换行符?

javascript - 为用于搜索引擎抓取的 AngularJS 应用程序创建 HTML 快照

javascript - 使用javascript填充第二页的文本框

使用枚举值作为接口(interface)属性名称时,Typescript 编译器生成未使用的变量

Typescript Private or protected member 'something' 无法在类型参数上访问

javascript - 如何让 chrome 开发工具看到自定义对象属性

ios - expo EAS build (iOS) 在 Pod 安装步骤中失败 (SDK45 & 46)

javascript - tabBarOnPress 在 react native 的 react 导航选项卡中不起作用

react-native - 如何在功能组件中编写Animated.Value.addListener?