Android 在react native中导入域时执行上下文未知
我真的很新的反应本机和我试图使用领域。我已经完成了react本地链接领域和rnpm链接领域。但是当我尝试导入领域时,我得到了错误未知执行上下文,这是我的index.android.jsAndroid 在react native中导入域时执行上下文未知,android,react-native,realm,Android,React Native,Realm,我真的很新的反应本机和我试图使用领域。我已经完成了react本地链接领域和rnpm链接领域。但是当我尝试导入领域时,我得到了错误未知执行上下文,这是我的index.android.js import React,{Component}来自'React'; 进口{ 评估学, 样式表, 文本, 看法 }从“反应本机”; 从“react native tab view”导入{TabViewAnimated,TabBar}; 从“./app/Today”导入今天 从“领域”导入领域 从“lodash”导
import React,{Component}来自'React';
进口{
评估学,
样式表,
文本,
看法
}从“反应本机”;
从“react native tab view”导入{TabViewAnimated,TabBar};
从“./app/Today”导入今天
从“领域”导入领域
从“lodash”导入
const styles=StyleSheet.create({
容器:{
弹性:1,
},
第页:{
弹性:1,
对齐项目:“居中”,
为内容辩护:“中心”,
},
});
导出默认类ExpenseManagerProject扩展组件{
状态={
索引:0,
路线:[
{键:'1',标题:'Today'},
{键:'2',标题:'Category'},
{键:“3”,标题:“日期”},
],
};
_handleChangeTab=(索引)=>{
this.setState({index});
};
_renderFooter=(道具)=>{
返回;
};
_renderScene=({route})=>{
道岔(进路钥匙){
案例“1”:
返回;
案例“2”:
返回;
违约:
返回null;
}
};
render(){
返回(
);
}
}
AppRegistry.registerComponent('ExpenseManagerProject',()=>ExpenseManagerProject);
当chrome的调试器处于模拟器模式时,我遇到了这个错误。这是因为Realm不知道它是在chrome上运行还是在物理设备上运行。
希望对您有所帮助
将以下行添加到android/settings.gradle:
将编译行添加到android/app/build.gradle中的依赖项:
在android/app/src/main/java/com/[your application name]/MainApplication.java中添加导入并链接包:
import io.realm.react.RealmReactPackage;//添加此导入
公共类MainApplication扩展应用程序实现ReactApplication{
@凌驾
受保护的列表getPackages(){
返回数组.asList(
新建MainReactPackage(),
新建RealmReactPackage()//添加此行
);
}
}
对我来说,这只是最后一步,将行添加到MainApplication.java,因为其他东西已经存在了。所以一定要检查所有提到的文件
如果仍然不起作用,创建一个新项目,添加域(包括上面的步骤)并添加您以前编写的所有文件。您知道任何修复方法吗,先生?是的,在chrome中禁用模拟器模式,就是这样。如何做?我正在为我的android模拟器使用genymotion,但当你运行react native时,会出现一个chrome选项卡,你用来调试的东西对吗?我指的是你的pc/mac的浏览器debugging@AndrésGiachini如何在Chrome中禁用模拟器模式?尽管我只创建了一个新项目,但它很有魅力
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
} from 'react-native';
import { TabViewAnimated, TabBar } from 'react-native-tab-view';
import Today from './app/Today'
import Realm from 'realm'
import _ from 'lodash'
const styles = StyleSheet.create({
container: {
flex: 1,
},
page: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
});
export default class ExpenseManagerProject extends Component {
state = {
index: 0,
routes: [
{ key: '1', title: 'Today' },
{ key: '2', title: 'Category' },
{ key: '3', title: 'Date' },
],
};
_handleChangeTab = (index) => {
this.setState({ index });
};
_renderFooter = (props) => {
return <TabBar {...props} />;
};
_renderScene = ({ route }) => {
switch (route.key) {
case '1':
return <Today/>;
case '2':
return <View style={[ styles.page, { backgroundColor: '#673ab7' } ]} />;
default:
return null;
}
};
render() {
return (
<TabViewAnimated
style={styles.container}
navigationState={this.state}
renderScene={this._renderScene}
renderFooter={this._renderFooter}
onRequestChangeTab={this._handleChangeTab}
/>
);
}
}
AppRegistry.registerComponent('ExpenseManagerProject', () => ExpenseManagerProject);
gradle include ':realm' project(':realm').projectDir = new File(rootProject.projectDir, '../node_modules/realm/android')
gradle dependencies { compile project(':realm') }
import io.realm.react.RealmReactPackage; // add this import
public class MainApplication extends Application implements ReactApplication {
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new RealmReactPackage() // add this line
);
}
}