为什么React Native视图不能使用RCTRootView加载?

mdfafbf1  于 2022-11-25  发布在  React
关注(0)|答案(1)|浏览(133)

我正在按照React Native文档从iOS应用程序加载React Native视图。

import React from 'react';
import { AppRegistry, View, Text } from 'react-native';

const TestView = () => {
  return (
    <View>  
      <Text>Hello World</Text>  
    </View>  
  );
};

// Module name
AppRegistry.registerComponent('TestView', () => TestView);

我按照文档的建议从iOS应用程序创建视图:

guard let jsCodeLocation = URL(string: "http://localhost:8081/index.bundle?platform=ios") else { return }
let rootView = RCTRootView(
  bundleURL: jsCodeLocation,
  moduleName: "TestView",
  initialProperties: nil,
  launchOptions: nil
)
let vc = UIViewController()
vc.view = rootView
self.present(vc, animated: true, completion: nil)

但是当视图控制器出现时,我什么也看不到:

React Native在项目中的集成是正确的。并且当视图控制器出现时调用了index.js。但是它不起作用。有什么想法吗?

Xcode日志:
[native]正在运行的应用程序TestView({ initialProps = { };根标签= 51;})
[连接] nw_socket_handle_socket_event [C15:1]套接字错误[61:连接被拒绝]
[连接] nw_connection_get_connected_socket [C15]客户端在未连接的nw_connection上调用了nw_connection_get_connected_socket
TCP连接0x 600003104000失败:错误0:61 [61]
[javascript]不变冲突:执行(...):找不到'DevSettings'。请确认此名称的模块已在原生二进制档中登录。语法,js engine:爱马仕
[javascript]错误:需要模块“node_modules/react-native/Libraries/Core/InitializeCore.js”,该模块抛出了异常:固定违规:执行(...):找不到'DevSettings'。请确认此名称的模块已在原生二进制档中登录。语法,js engine:爱马仕
[javascript]不变冲突:无法调用JavaScript模块方法RCTEventEmitter.receiveTouches()。模块尚未注册为可调用模块。已注册的可调用JavaScript模块(n = 10):系统、JSTimers、堆捕获、采样分析器、RCTLog、RCTDevice事件发射器、RCTNativeAppEventEmitter、全局性能记录器、JSDevSupportModule、HMRClient。
此错误的常见原因是应用程序入口文件路径不正确。当JS包损坏或加载React Native.,js engine时出现早期初始化错误时,也会发生此错误:爱马仕
[本机]正在使〈RCTCxxBridge失效:0x 120507 c40〉(父项:(空),执行人:(空))

qlckcl4x

qlckcl4x1#

我没有使用调试模式在Xcode中运行应用程序。

相关问题