重新加載 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<>();
}
添加回答
舉報
0/150
提交
取消