我想要做的就是将初始化代码从index.android.js / index.ios.js
移到app/index.js
文件。我将其导出并导回到index.android.js
或index.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.js
和index.ios.js
文件看起来像这样
import Snapp from './app'
import { AppRegistry } from 'react-native';
AppRegistry.registerComponent('Snapp', () => Snapp);
有什么想法?
答案 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/');