Help us understand the problem. What is going on with this article?

[React Native]Javaモジュールからハッシュを返す

More than 1 year has passed since last update.

React Nativeのバージョンは0.57.8。
前提条件としてReact NativeからAndroid向けのJavaモジュールの利用ができている事。

TL;DR

WritableMapに変換して返す。

詳細

Java側では以下のように実装する。

public class HogeModule extends ReactContextBaseJavaModule {
    :
    @ReactMethod
    public void getHash(Callback callback) {
        HashMap<String, String> hm = new HashMap<>();
        hm.put("first", "One");
        hm.put("second", "Two");
        hm.put("third", "Three");

        WritableMap map = new WritableNativeMap();
        for (Map.Entry<String, String> entry : hm.entrySet()) {
            map.putString(entry.getKey(), entry.getValue());
        }
        callback.invoke(map);
    }
    :
}

React Native側では以下のようにして受け取る。

import {NativeModules} from 'react-native';
module.exports = NativeModules.Hoge;
:
      Hoge.getHash((map) => {
        console.log(map.first);
        console.log(map.second);
        console.log(map.third);
      });
:

putStringの他にputBooleanputIntなど、型に応じたputがある

配列でも似たようなかたちで WritableArray というのがある。

b_a_a_d_o
怠惰で短気で傲慢なえんじにあ
https://www.gowest1.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away