首页 > 解决方案 > React Native 中的 Java 单例等价物是什么?

问题描述

其实我是一个安卓原生开发者。我是 React-Native 的新手。在 Java 中,我将用户数据和其他数据保存在单例类中,并从其他活动中访问。然后我如何在 React native 中实现这个过程,以访问来自其他组件的数据或 React native 中单例的任何替代方案。

我只是试试这个,但我收到了 getInstance() not defined 之类的错误。

class AppDelegate {
log = "This is AppDelegate";  

  static myInstance = null;
  static getInstance() {
    if (AppDelegate.myInstance == null) {
      AppDelegate.myInstance = new AppDelegate();
    }

    return this.myInstance;
  }

}

谢谢你。

标签: reactjsreact-nativereact-native-androidreact-native-ios

解决方案


React 是 UI 库,这不是它的责任。这个问题会影响任何 JavaScript 应用程序,而不仅仅是 React。

JavaScript 模块和 ES 模块在正常情况下只评估一次,这使得导出单例:

  // exported for extensibility
  export class AppDelegate {...}

  // a singleton
  export default new AppDelegate;

单例类可能是 JavaScript 中的一种反模式。如果需要一个对象,它可以写成对象字面量。


推荐阅读