用纱线反应本机构建错误?

React Native Build Error With Yarn?

从字面上看,我要做的就是将初始化代码从 index.android.js / index.ios.js 移动到 app/index.js 文件。我将其导出并将其导入回 index.android.jsindex.ios.js.

然后我得到了错误。

Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object

我用npm的时候没有这个问题。似乎 yarn 的构建过程可能有所不同,因为每当我在打包程序中保存任何内容时,它都会显示

Bundling 'index.android.js' 但与 iOS.

无关

我的app/index.js看起来像这样

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

export default class Snapp extends Component {
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
      </View>
    );
  }
}

我的 index.android.jsindex.ios.js 文件看起来像这样

import Snapp from './app'
import { AppRegistry } from 'react-native';

AppRegistry.registerComponent('Snapp', () => Snapp);

有什么想法吗?

尝试在与组件相同的 JS 中注册应用程序。

app/index.js

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

export default class Snapp extends Component {
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
      </View>
    );
  }
}
AppRegistry.registerComponent('Snapp', () => Snapp);

index.ios.js / index.android.js

require('./app/');