2016-02-09 33 views
5

पर वापस देखें/बाहर निकलें प्रतिक्रियाएं/मेरे पास एक मौजूदा ऐप है जिसे मैं इसके एक हिस्से के लिए प्रतिक्रिया-मूल को एकीकृत करने पर काम कर रहा हूं। मैं को समझने में परेशानी महसूस कर रहा हूं कि प्रतिक्रिया-मूल कैसे 'बाहर निकलें' और मूल दृश्य पर वापस आएं।प्रतिक्रिया-मूल: मूल

// Main objective-c code that bootstraps the react-native view. This view is loaded as a modal view. 
MainViewController.m: 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"IndexApp" initialProperties:props launchOptions:nil]; 

    rootView.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height-49); 
    [self.view addSubview:rootView]; 

} 

मेरे प्रारंभिक प्रतिक्रिया विचारों ऐसे हैं::

render() { 
    return (
     <Navigator 
      style={styles.container} 
... 

मुझे लगता है कि मैं "खारिज" चाहते हैं नेविगेटर पर एक सही एनएवी बटन प्रतिक्रिया देखने

यहाँ कुछ कोड है और अंतर्निहित MainViewController मूल दृश्य।

मैं प्रतिक्रिया देखने से MainViewController को एक कॉलबैक की कोशिश की है तो तरह है, लेकिन लाभ के बिना:

RCT_EXPORT_METHOD(dismiss:(NSString *)name location:(NSString *)location) 
{ 
    NSLog(@"dismiss..."); 
    // these don't do anything 
    //[self dismissViewControllerAnimated:YES completion:nil]; 
    //[self.navigationController popViewControllerAnimated:YES]; 
    // anything with _rootView doesn't do anything, i.e. _rootView removeFromSuperview]; 

} 

'exit' प्रतिक्रिया देशी दृश्य के लिए एक दृष्टिकोण के साथ कोई और वापस मूल विचारों में होगा तारीफ़ लें।

उत्तर

0

नोट: इस करता "टी काम - मैं इस यहाँ छोड़ दिया है काम नहीं करता है क्या का एक उदाहरण के रूप में एक दृष्टिकोण है कि काम करता है के लिए मेरे दूसरे सवाल का जवाब की जाँच करें

यदि आप वर्तमान MainViewController इस तरह से, popViewController:।।

NSURL *jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"]; 
RCTRootView *reactView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation 
                moduleName:@"SimpleApp" 
              initialProperties:nil 
               launchOptions:nil]; 


MainViewController *rootViewController = [MainViewController new]; 
rootViewController.view = reactView; 

[[self navigationController] pushViewController:rootViewController animated:YES]; 
+0

क्षमा करें, उससे प्रतीत नहीं होता है । – dnstevenson

+0

यह पुष्टि कर सकता है कि यह काम नहीं करता है, क्षमा करें – Tejas

1

एक ही रास्ता काम करना चाहिए मैं इस काम करता है पता चला है this

यह का सार है:

  1. Obj सी में एक NotificationManager वर्ग बना सकते हैं और इसे उजागर मॉड्यूल
  2. प्रतिक्रिया के रूप में ViewController में एक अधिसूचना जो ट्रिगर प्राप्त करता है के लिए रजिस्टर [आत्म dismissViewController ..]
संबंधित मुद्दे