gpt4 book ai didi

java - react native : Is it possible to persist native Java variable values on app reload?

转载 作者:行者123 更新时间:2023-11-30 12:04:32 25 4
gpt4 key购买 nike

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

}

关于java - react native : Is it possible to persist native Java variable values on app reload?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57085703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com