Javascript 将字符串从Obj-C传递到React Native

Javascript 将字符串从Obj-C传递到React Native,javascript,ios,objective-c,react-native,Javascript,Ios,Objective C,React Native,我目前正在React Native中构建一个应用程序,遇到了一个我似乎无法在我的RN framewok中解决的问题,我可能需要指出的是,我对Objective-C非常陌生。但是,我通过在AppDelegate.m文件中调用它来获得它。但是如何将我在appdelegate中创建的字符串变量传递到javascript文件 我很快地看了一眼“国家佩文米特”,但似乎有些不同。在my AppDelegate.m中,它如下所示: - (BOOL)application:(UIApplication *)ap

我目前正在React Native中构建一个应用程序,遇到了一个我似乎无法在我的RN framewok中解决的问题,我可能需要指出的是,我对Objective-C非常陌生。但是,我通过在AppDelegate.m文件中调用它来获得它。但是如何将我在appdelegate中创建的字符串变量传递到javascript文件

我很快地看了一眼“国家佩文米特”,但似乎有些不同。在my 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给出的NativeAppendentMitter技巧,我已经试着实现了。但它对我的桥有很多抱怨

#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”
#导入“rctroutview.h”
#进口
#导入“RCTBridge.h”
#导入“RCTBridgeModule.h”
#导入“RCTEventDispatcher.h”
@实现AppDelegate
RCT_导出_模块();
@合成桥=_桥;
其中,我在我的
AppDelegate.h
中将其声明为:
@property(非原子)NSString*桥

但当我尝试使用
eventDispatcher
时,它会给我以下信息:


使用
initialProperties
启动应用程序时,可以传递一些数据。我认为这是你最好的解决办法。您可以在
RCTRootView
上传递您的令牌,然后从
道具中抓取它。这方面有一个很好的例子。

或者,您可以使用嵌入式数据。

只有在我在应用程序中执行登录时,数据才会出现。所以我猜当应用程序启动时,它将是空的。这会成为一个问题吗?我已经更新了我的答案以适合你的情况。这可能与问题本身无关,但在这种情况下,您可以使用并避免原生JS通信。您可以找到如何正确配置它的教程。谢谢!到时候我会尽力做到的。关于fbsdk,我之所以这样做,是因为我能够在这里生成一个accesstoken,但不是fbsdk,问题在我的问题中进一步解释:用新问题编辑我的问题。出于某种原因,网桥需要一个属性声明,其他用途似乎不需要它,但这个需要。我尝试过的每个声明都是错误的。它应该被声明为:@property(非原子,强)RCTBridge*bridge;