Метод находится в классе RN-менеджера, поэтому я не вижу, как он может работать - вам нужна ссылка на view-controller, если вы хотите отменить его
тавьте реагирующий компонент в качестве контроллера представления из проекта target-c, а затем удалите этот контроллер только из реагирующего. Презентационная часть проста:
NSURL *jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.bundle?platform=ios"];
RCTRootView *rootView =
[[RCTRootView alloc] initWithBundleURL: jsCodeLocation
moduleName: @"MyListView"
initialProperties:nil
launchOptions: nil];
UIViewController *vc = [[UIViewController alloc] init];
vc.view = rootView;
[self presentViewController:vc animated:YES completion:nil];
Как выставить класс Objective C для React Native:
RCT_EXPORT_MODULE()
RCT_EXPORT_METHOD(dismiss: (NSString *) name){
NSLog(@"dismiss");
dispatch_async(dispatch_get_main_queue(), ^{
[self dismissViewControllerAnimated:YES completion:nil];
});
}
Как получить доступ к этому классу в React Native:
var ViewController = NativeModules.ViewController;
backTap = () => {
ViewController.dismiss('Blah');
}
Мне звонят вRCT_EXPORT_METHOD (dismiss:)
метод, но контроллер реакции-родной просто остается там.