reactnative 桥

2020-03-03  本文已影响0人  couriravant

分为方法桥和UI组件桥,用来调用native代码的方法和UI组件

方法桥:

public class BusinessDialogModule extends ReactContextBaseJavaModule {
    public BusinessDialogModule(ReactApplicationContext reactContext) {
        super(reactContext);
    }

    @Override
    public String getName() {
        return "RETBusinessDialog";
    }

    @ReactMethod
    public void showCouponListDialogWithCouponData(String userCoupon, Promise promise) {
        try {
            ...
            ActivityUtils.byMallRouter(getCurrentActivity(), "/coupon/popup_inner", bundle, 0);
            promise.resolve(true);
        } catch (Exception e) {
            promise.resolve(false);
        }
    }
}

继承ReactContextBaseJavaModule, 在getName返回桥的名字,在需要调用的方法上添加 @ReactMethod。
另外,还需要注册:

public class CommonPackage implements ReactPackage {
    @Override
    public List<NativeModule> createNativeModules(ReactApplicationContext ctx) {
        return Arrays.asList(
             ...
                new BusinessDialogModule(ctx),
        );
    }

UI桥:


上一篇 下一篇

猜你喜欢

热点阅读