使用react-native init 一个项目后,它的入口文件是这样写的import { AppRegistry } from 'react-native';import App from './App';AppRegistry.registerComponent('app', () => App);这样是正常的,也符合我对react的理解。但是今天在一个项目里面看到居然可以这样写:import App from './src/app';const app = new App();app.js里面导出不是react组件,而是一个普通的函数,项目地址不明白这块为什么可以这样写,new App()不是变成了一个对象嘛。
2 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
src/screens/index.js
文件下,有一个叫做registerScreens
的函数,这个函数调用了Navigation.registerComponent
, 而Navigation.registerComponent
,会返回一个generationWrapper
,并且会执行AppRegistry.registerComponent
来注册你的screen
组件,所以new App
时,其实是执行了AppRegistry.registerComponent
的。
相关源码: registerScreen
添加回答
举报
0/150
提交
取消