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



重新加载 JS 时是否可以在自定义 react 本机模块中维护 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());
    }
}

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

public class CustomModule extends ReactContextBaseJavaModuleWithEvents implements LifecycleEventListener {
    public static List<JsonObject> components = new ArrayList<>();
}

相关内容

  • 没有找到相关文章

最新更新