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

时间:2017-02-17 20:26:53

标签: javascript react-native yarnpkg

我想要做的就是将初始化代码从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时没有这个问题。看起来像纱线的构建过程可能会有所不同,因为每当我在我的包装工具中保存任何东西时它就会说

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);

有什么想法?

1 个答案:

答案 0 :(得分:1)

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

  

应用程序/ 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/');