实际上,我是本机应用程序开发的新手。我正在尝试开发一个具有数据库连接性(AWS Dynamo db)的小型反应原生应用程序。我选择 java 作为服务器端语言。我想知道,是否有可能在 react-native 中导入 java 类(即从 react-native 访问 java 方法)。
谢谢。
是的,您可以,只需一些粘合代码。React Native 有一个Native Modules的概念,它允许您与任何 Java 代码进行交互。
根据上面链接的说明创建本机模块后,您可以使用注释来装饰模块上的任何方法,@ReactMethod以使其在 JavaScript 中可用:
public class YourDynamoDBModule extends ReactContextBaseJavaModule {
// ...
@ReactMethod
public void arbitraryMethod(string query, Promise promise) {
// do something with your third-party library
Promise.resolve(yourResponse);
}
//...
}
Run Code Online (Sandbox Code Playgroud)
您将需要更多的样板文件(文档中均对此进行了解释)。一旦到位,您可以从 JavaScript 调用它,如下所示:
import { NativeModules } from 'react-native';
NativeModules
.YourDynamoDBModule
.arbitraryMethod('...')
.then(result => {
});
Run Code Online (Sandbox Code Playgroud)
值得注意的是,所有本机模块调用本质上都是异步的,因此如果您需要将数据传递回 JavaScript,则需要使用 Promise(如上所述)或回调。
| 归档时间: |
|
| 查看次数: |
2156 次 |
| 最近记录: |