[本地UI组件会引发不变违规:试图注册两个具有相同名称的视图FridgeCameraView

问题描述 投票:0回答:1

[尝试学习React Native自定义Native UI组件。

// FridgeCameraViewManager.swift

import UIKit

@objc(FridgeCameraViewManager)
class FridgeCameraViewManager: RCTViewManager {

  override func view() -> UIView! {
    let label = UILabel()
    label.text = "Swift Component"
    label.textAlignment = .center
    return label
  }

  @objc static override func requiresMainQueueSetup() -> Bool {
    return false
  }
}

// FridgeCameraViewManager.h

#import <Foundation/Foundation.h>
#import "React/RCTViewManager.h"

@interface RCT_EXTERN_MODULE(FridgeCameraViewManager, RCTViewManager)


@end

// FridgeCameraView.js

import {requireNativeComponent} from 'react-native';
const FridgeCameraView = requireNativeComponent('FridgeCameraView', null);
export default FridgeCameraView;

[当我尝试在App.js中的某个地方使用FridgeCameraView组件时,仅当我使用Xcode构建和运行项目时,该组件才起作用。否则,在更改某些内容时使用热重载,我会收到“ Invariant Violation:尝试注册两个具有相同名称FridgeCameraView的视图”。

enter image description here

ios react-native react-native-ios react-native-native-ui-component
1个回答
0
投票

以某种方式,当我安装react-router-native时错误消失了。我认为有包装冲突或我缺少的东西。希望这将是将来遇到此错误的人的解决方案。如果有人知道这个奇怪的错误背后是什么,我仍在等待解释。

© www.soinside.com 2019 - 2024. All rights reserved.