实际上,我是一名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;
}
}
谢谢。
答案 0 :(得分:2)
React是UI库,这不是它的责任。这个问题不仅会影响React,还会影响所有JavaScript应用程序。
通常在正常情况下,仅对JavaScript模块特别是ES模块进行一次评估,这使得导出单例:
// exported for extensibility
export class AppDelegate {...}
// a singleton
export default new AppDelegate;
Singleton类可能是JavaScript中的反模式。如果需要一个对象,可以将其写为对象文字。
答案 1 :(得分:2)
缓存了导入,因此,如果导出类,则将缓存该类,如果导出实例,则将缓存实例
答案 2 :(得分:-1)
如果您需要单身人士,请不要使用任何类。 而是将方法导出为函数。
// 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';