React Native项目,index.ios.js或index.android.js未生成

imp*_*ble 20 reactjs react-native

我今天开始使用React-Native.我正在关注一个网络教程.

我的Windows机器上的所有安装是否正确:

  • Java Jdk
  • Android Studio
  • 节点/ NPM

然后安装react-native

npm install -g react-native-cli
Run Code Online (Sandbox Code Playgroud)

最后一个问候世界项目

react-native init albums
Run Code Online (Sandbox Code Playgroud)

我没有收到任何错误.我的应用程序完全在我的Android手机上运行(基本上已加载).

app.js在平台选择上有点条件:

 /**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * @flow
 */

import React, { Component } from 'react';
import {
  Platform,
  StyleSheet,
  Text,
  View
} from 'react-native';

const instructions = Platform.select({
  ios: 'Press Cmd+R to reload,\n' +
    'Cmd+D or shake for dev menu',
  android: 'Double tap R on your keyboard to reload,\n' +
    'Shake or press menu button for dev menu',
});

export default class App extends Component<{}> {
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
        <Text style={styles.instructions}>
          To get started, edit App.js
        </Text>
        <Text style={styles.instructions}>
          {instructions}
        </Text>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
});
Run Code Online (Sandbox Code Playgroud)

我只是想知道这是否正常,不能生成这些文件.我要创建这两个索引文件吗?或者最新的react-native不需要2个单独的文件?(我关注的教程是2017年1月)

项目结构

ben*_*nel 41

这是为react-native添加的新功能.新项目模板现在不包含两个单独的文件.如果您愿意,您仍然可以像以前一样创建和使用,但是按照原样使用它是正常的.它只是一个偏好和您的项目的要求.您可以在此处找到有关更改的更多信息.

从提交说明

此更改(最初在 react-community/create-react-native-app#26中讨论)将HelloWorld项目模板从两个几乎相同的入口点(index.android.jsindex.ios.js)移动到单个最小 index.js入口点.根组件是在App.js.中创建的.这统一了react-native initCreate React Native App 之间的项目结构,并允许CRNA的弹出使用HelloWorld模板中的入口点而不需要任何黑客来自定义它.此外,文档中的示例可以App.js在HelloWorld和CRNA应用程序中以相同的方式进行复制粘贴,而无需先了解 AppRegistry.registerComponent.