其实我是Android Native Developer。我是React-Native的新手。在Java中,我将用户数据和其他数据保存在Singleton类中,并从其他活动访问。然后我如何在React native中实现此过程,以便从其他组件或React native中的任何替代单例访问数据。
我只是尝试这个,但我收到了像getInstance()未定义的错误。
class AppDelegate {
log = "This is AppDelegate";
static myInstance = null;
static getInstance() {
if (AppDelegate.myInstance == null) {
AppDelegate.myInstance = new AppDelegate();
}
return this.myInstance;
}
}
谢谢。
导入是缓存的,因此如果导出类,则将缓存该类,如果导出实例,则将缓存该实例
React是UI库,这不是它的责任。这个问题会影响任何JavaScript应用程序,而不仅仅是React。
特别是JavaScript模块和ES模块在正常情况下只评估一次,这使得导出单例:
// exported for extensibility
export class AppDelegate {...}
// a singleton
export default new AppDelegate;
Singleton类可能是JavaScript中的反模式。如果需要一个对象,则可以将其写为对象文字。
如果你需要一个单身人士,根本不要使用一个班级。将方法导出为函数。
// File app-delegate.js
let privateIstanceValue;
export const method1 = () => //do something;
export const method2 = () => //do something again;
使用import * as
导入
import * as appDelegate from './app-delegate.js';