为了账号安全,请及时绑定邮箱和手机立即绑定

React Native:是否可以在应用程序重新加载时保留本机 Java 变量值?

React Native:是否可以在应用程序重新加载时保留本机 Java 变量值?

红糖糍粑 2023-03-31 16:54:02
重新加载 JS 时,是否可以在自定义反应本机模块中维护 Java 变量的值?我想components在下面的代码中维护以进行调试。如果应用程序进入后台,它会在 onHostResume 上持续存在,但在重新加载时该值会丢失。public class CustomModule extends ReactContextBaseJavaModuleWithEvents implements LifecycleEventListener {    public List<JsonObject> components = new ArrayList<>();    public CustomModule(ReactApplicationContext reactContext) {        super(reactContext);        reactContext.addLifecycleEventListener(this);    }    @ReactMethod    void addComponents(component) {        // add some components...        components.add(component);    }    @Override    public String getName() {        return "CustomModule";    }    @Override    public void onHostResume() {        getReactApplicationContext()            .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)            .emit("DEBUG_TAG", components.toString());    }}
查看完整描述

1 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

每次重新加载 JS 代码都会创建一个新的 CustomModule 实例来重新初始化组件。我应该将组件列表设置为静态类变量,以便它只被初始化一次。


public class CustomModule extends ReactContextBaseJavaModuleWithEvents implements LifecycleEventListener {


    public static List<JsonObject> components = new ArrayList<>();


}


查看完整回答
反对 回复 2023-03-31
  • 1 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信