繁体   English   中英

将一个字符串从Obj-C传递给React Native

[英]Passing a string from Obj-C to React Native

我目前正在React Native中构建一个应用程序,面临一个我似乎无法在我的RN框架中解决的问题,我可能需要提一下,我对Objective-C非常新。 但是,我设法通过在AppDelegate.m文件中调用它来获取它。 但是,如何将我在appdelegate中创建的字符串变量传递给我的javascript文件?

我快速地看了一下NativeAppEventEmitter,但它似乎有所不同。 在我的AppDelegate.m中它看起来像这样:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
  BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
                                                                openURL:url
                                                      sourceApplication:sourceApplication
                                                             annotation:annotation
                  ];
  NSString *fbAccessToken = [FBSDKAccessToken currentAccessToken].tokenString;
  return handled;
}

看看RN给出的NativeAppEventEmitter技巧,我试图实现它。 但它抱怨我的桥梁很多。

#import "AppDelegate.h"

#import "RCTRootView.h"

#import <FBSDKCoreKit/FBSDKCoreKit.h>

#import "RCTBridge.h"

#import "RCTBridgeModule.h"

#import "RCTEventDispatcher.h"

@implementation AppDelegate

RCT_EXPORT_MODULE();

@synthesize bridge = _bridge;

我在AppDelegate.h中将其声明为: @property (nonatomic) NSString *bridge;

但是当我尝试使用eventDispatcher它给了我以下内容:

在此输入图像描述

使用initialProperties启动应用程序时可以传递一些数据。 我认为这是您案例中最好的解决方案。 您可以在RCTRootView上传递令牌,然后从props获取它。 RN文档中有一个很好的例子。 或者,您可以发送包含嵌入数据的事件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM