Собственный компонент пользовательского интерфейса выдает инвариантное нарушение: попытался зарегистрировать два представления с одинаковым именем FridgeCameraView - PullRequest
0 голосов
/ 12 января 2020

Попытка изучить React Native Custom Native UI Components.

// 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;

Когда я пытаюсь использовать компонент FridgeCameraView где-то в приложении. js, он работает только при сборке & запустить проект, используя Xcode. В противном случае, используя горячую перезагрузку при изменении чего-либо, я получаю «Инвариантное нарушение: попытался зарегистрировать два представления с одинаковым именем FridgeCameraView».

enter image description here

1 Ответ

0 голосов
/ 12 января 2020

Почему-то ошибка ушла, когда я установил react-router-native. Я думаю, что был конфликт пакета или кое-что, что я пропустил. Надеюсь, это будет исправлением для тех, кто столкнется с этой ошибкой в ​​будущем. Я все еще жду объяснений, если кто-то знает, что стоит за этой странной ошибкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...