跳到主要内容

错误处理(Error Handling)

说明(Note):本页仅适用于新版 @rive-app/react-native,不适用于 Legacy。

基础模式

加载文件或创建对象时,建议使用 try/catch

try {
const riveFile = await RiveFileFactory.fromURL('https://cdn.rive.app/animations/vehicles.riv');
} catch (error) {
console.error('Error loading Rive file:', error);
}

视图级错误回调

通过 RiveViewonError 处理运行时错误:

<RiveView
file={riveFile}
onError={(error) => {
console.error(`Rive Error [${error.type}]: ${error.message}`);
}}
/>

若未提供 onError,错误默认打印到控制台。

常见错误类型

  • RiveErrorType.Unknown
  • RiveErrorType.FileNotFound
  • RiveErrorType.MalformedFile
  • RiveErrorType.IncorrectArtboardName
  • RiveErrorType.IncorrectStateMachineName
  • RiveErrorType.ViewModelInstanceNotFound
  • RiveErrorType.IncorrectStateMachineInputName

Android 初始化状态检查

import { RiveRuntime } from '@rive-app/react-native';

const { isInitialized, error } = RiveRuntime.getStatus();
if (!isInitialized) {
console.error('Rive failed to initialize:', error);
}

iOS 无需显式初始化,getStatus() 通常返回已初始化。

高级(Advanced):可通过 android/gradle.properties 设置 Rive_RiveRuntimeAndroidSkipSetup=true,并手动调用 RiveRuntime.initialize()。仅建议在你确实需要延迟初始化时使用。