我在React Native下工作,希望通过Java将初始props 传递给JS.这在Objective-C中很容易实现,其初始属性如下:

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

其中initialProperties是一个NSDictionary,它将转换为JSON,并通过this.props在JS中可用.

推荐答案

在安卓系统中,你可以将initialPropslaunchOptions作为一个包传递进来.

正如源代码中提到的:https://github.com/facebook/react-native/blob/7377fdcc70b25eb023e7c6d1b37eeae2a700cb88/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java#L325-L334

所以你可以这样做:

Bundle initialProps = new Bundle();
initialProps.putString("myKey", "myValue");

mReactRootView.startReactApplication(mReactInstanceManager, "MyAwesomeApp", initialProps);

React-native相关问答推荐

如何在API调用期间将本地存储(Expressc存储)中的令牌传递到后台

react 本机中的TextInput对齐中的长文本

嵌套的FlatList内的Incorrect Padding

导航到另一个屏幕后清空搜索屏幕

如何在 react native 中以 redux 形式设置隐藏字段?

混合 JavaScript 移动开发 - Apache Cordova vs Capacitor with Ionic vs NativeScript vs React Native

用于部署后设置的 React 配置文件

React Native 中如何使用 Flex 居中组件?

fetch API 总是返回 {"_U": 0, "_V": 0, "_W": null, "_X": null}

TypeError:传播不可迭代实例的无效try

有没有办法改变 IOS 标题上react-navigation 的默认后退按钮 colored颜色 ?

当 textInput 聚焦时,第一次touch flatList 不起作用,但是第二次起作用

在特定屏幕上使用react-navigation修改后退按钮

require() 必须有一个字符串文字参数 React Native

如何将 Tensorflow 与 react-native 一起使用?

我可以从react-native元素中删除 tvOS 吗?

React-native google 登录给开发人员错误

React-native Awesome 元素没有构建 android 元素

NavigationActions.reset 不是函数吗?

React Native:任务':app:transformDexArchiveWithExternalLibsDexMergerForDebug'的执行失败