在世博会中使用react-native-navigation的setRootController错误
问题描述:
尝试使用react-native-navigation时,我一直跑到undefined is not an object (evaluating 'RCCManager.setRootController')
。在世博会中使用react-native-navigation的setRootController错误
我试图效仿https://github.com/junedomingo/movieapp,但当它尝试在世博会应用程序中加载项目时遇到此问题。
我修改通过世博会产生的,看起来像这样我的App.js:
import HomeScreen from './screens/HomeScreen'
Navigation.registerComponent('screens.HomeScreen',() => HomeScreen)
class App extends React.Component {
constructor(props) {
super(props)
this.startApp()
}
startApp() {
Navigation.startTabBasedApp({
tabs: [
{
label: 'One',
screen: 'screens.HomeScreen',
title: 'Screen One'
},
]
})
}
}
const app = new App()
这是一个有点煮了,但我认为这些都是必不可少位。我觉得我不会像世博会期待的那样,把事情从世博会交给世博会。
任何想法如何在博览会上运行?如果有一个我可以玩的例子回购,那会很棒。我相信我可以在世博会之外工作,所以香草草的例子可能没有多大帮助。
答
因为react-native-navigation具有本地依赖性,并且需要您添加自定义本机代码,所以不能在包中使用Expo。
一个选项是detach您的项目并使用这样的包。这有失去一些博览会财产的副作用。
另一种选择是(如果您不是太深的项目)创建一个新的应用程序与react-native-cli并将您的代码移动到该项目。这具有不能使用expo api的副作用。
第三种选择是使用不依赖本地代码的导航包。一些最受欢迎的选项是react-navigation和react-native-router-flux。
我相信EXPO不支持react-native-navigation。它具有本地依赖性。 – bennygenel
我认为你的意思是使用反应导航。 –
事实上,就像@ EdgarAroutiounian所说的,为了使用Wix的react-native-navigation,您需要修改android和iOS本机代码。你知道埃德加是否有办法在博览会内生成这样的文件夹而不会失去优势? –