ReactInstanceSettings
种类:class
提供创建 React 实例的设置。
属性
BundleRootPath
string BundleRootPath
默认值: ms-appx:///Bundle/
用于 bundle 位置的基路径。
ByteCodeFileUri
string ByteCodeFileUri
将其设置为应用程序具有写入权限的位置,以便成功缓存字节码。请参阅 EnableByteCodeCaching
。请注意,目前尚未为 UWP 应用程序实现字节码生成。
DebugBundlePath
string DebugBundlePath
从 bundle 服务器(例如 metro)加载时,这是将从服务器请求的路径。如果未提供此项,则使用 JavaScriptBundleFile
的值。
DebuggerBreakOnNextLine
bool DebuggerBreakOnNextLine
对于直接调试,控制是否在下一行执行的 JavaScript 上中断。这有助于调试 JavaScript bundle 加载早期出现的问题。注意:目前使用的 Chakra JS 引擎不支持此功能。作为替代方案,您可以在 bundle 的开头添加 debugger
关键字。
DebuggerPort
uint16_t DebuggerPort
默认值: 9229
启用 UseDirectDebugger
时,这控制 JavaScript 引擎调试器将运行的端口。
DebuggerRuntimeName
string DebuggerRuntimeName
调试时与 JavaScript 运行时关联的名称。此名称将显示在 edge://inspect 或其他调试器中要附加的 JavaScript 运行时列表中。
EnableByteCodeCaching
bool EnableByteCodeCaching
默认值:false
对于支持字节码生成的 JS 引擎,这控制是否在首次加载 JavaScript bundle 时生成字节码。由于 JavaScript 将从字节码而不是原始 JavaScript 加载,因此应用程序的后续运行将更快。ByteCodeFileUri
必须设置为应用程序具有写入权限的位置,以便成功缓存字节码。请注意,目前尚未为 UWP 应用程序实现字节码生成。
EnableDeveloperMenu
bool EnableDeveloperMenu
已弃用:此属性已由
UseDeveloperSupport
替代。在版本 0.63 中,这两个属性将执行相同的功能。它将在未来版本中移除。
这控制此实例是否可用于各种开发人员体验功能。特别是开发人员菜单和默认的 RedBox
体验。
EnableJITCompilation
bool EnableJITCompilation
默认值:true
控制 JavaScript 引擎是否使用 JIT 编译的标志。
JSIEngineOverride
JSIEngine
JSIEngineOverride
默认值: JSIEngine.Chakra
将与 React 实例一起使用的 JSIEngine
覆盖。为了使覆盖生效,必须使用该引擎的支持编译 Microsoft.ReactNative。
JavaScriptBundleFile
string JavaScriptBundleFile
默认值: index.windows
要加载的 JavaScript bundle 文件的名称。这应该是相对于 BundleRootPath
的路径。在查找 bundle 文件时,.bundle
扩展名将附加到末尾。
NativeLogger
LogHandler
NativeLogger
将作为 global.nativeLoggingHook 挂钩到 JavaScript 实例中的函数。这允许为 JavaScript 的控制台实现提供本机挂钩。如果未设置此项,则在调试版本中日志将输出到本机调试输出,在发布版本中则不执行任何操作。
Notifications
readonly
IReactNotificationService
Notifications
获取 IReactNotificationService
以在组件和应用程序之间发送通知。使用 IReactContext.Notifications
从本机组件或视图管理器访问此 IReactNotificationService
。
PackageProviders
readonly
IVector
<IReactPackageProvider
> PackageProviders
获取 IReactPackageProvider
列表。将 IReactPackageProvider
的实现添加到此列表,以定义要包含在 React 实例中的其他本机模块和自定义视图管理器。自动链接会自动将 IReactPackageProvider
添加到应用程序的 PackageProviders
。
Properties
readonly
IReactPropertyBag
Properties
获取 IReactPropertyBag
以在组件和应用程序之间共享值。使用 IReactContext.Properties
从本机组件和视图管理器访问此 IReactPropertyBag
。
RedBoxHandler
IRedBoxHandler
RedBoxHandler
提供扩展点以允许在 react 实例中进行自定义错误处理。有关详细信息,请参阅 IRedBoxHandler
。
SourceBundleHost
string SourceBundleHost
默认值: localhost
当使用 UseFastRefresh
、UseLiveReload
或 UseWebDebugger
时,这是将从中加载 bundle 的服务器主机名。
SourceBundlePort
uint16_t SourceBundlePort
默认值: 8081
当使用 UseFastRefresh
、UseLiveReload
或 UseWebDebugger
时,这是将从中加载 bundle 的服务器端口。
UIDispatcher
IReactDispatcher
UIDispatcher
控制 React 实例将使用的主 UI 调度程序。如果 ReactInstanceSettings
对象最初是在 UI 线程上创建的,则此项将默认为该线程。此处提供的值将通过 IReactContext.UIDispatcher
提供给本机模块和视图管理器。
UseDeveloperSupport
bool UseDeveloperSupport
这控制此实例是否可用于各种开发人员体验功能。特别是,它启用开发人员菜单、默认的 RedBox
和 LogBox
体验。
UseDirectDebugger
bool UseDirectDebugger
在 JavaScript 引擎中启用调试(如果支持)。对于 Chakra,这允许使用 Visual Studio -> 附加到进程 (脚本) 在应用程序中直接调试 JS 运行时。
UseFastRefresh
bool UseFastRefresh
控制实例首次加载实例时是否触发热模块重新加载逻辑。大多数编辑应该在一两秒内可见,而无需实例重新加载。不兼容的更改仍然会导致完全重新加载。有关 Fast Refresh 的更多信息,请参阅 Fast Refresh。
UseLiveReload
bool UseLiveReload
已弃用:对于一般用途,此功能已由
UseFastRefresh
替代。
启用实时重新加载以从 React Native 打包器加载源 bundle。文件保存时,打包器将触发重新加载。
UseWebDebugger
bool UseWebDebugger
控制实例 JavaScript 是否在远程环境(例如浏览器)中运行。默认情况下,这是使用导航到 https://:8081/debugger-ui 的浏览器,由 Metro/Haul 提供服务。React Native 实例加载后,调试将立即开始。
构造函数
ReactInstanceSettings
ReactInstanceSettings
()
Events
InstanceCreated
InstanceDestroyed
类型: InstanceDestroyedEventArgs