Alo*_*lok 9 singleton reactjs react-native
我是反应原生编码的新手,但在Objective-c和swift编码方面经验丰富,并希望在反应原生中使用单例模式.我试图找出其他StackOverflow答案的解决方案,但大多数都只创建单例函数,如下面的代码:
var Singleton = (function () {
var instance;
function createInstance() {
var object = new Object("I am the instance");
return object;
}
return {
getInstance: function () {
if (!instance) {
instance = createInstance();
}
return instance;
}
};
})();
function run() {
var instance1 = Singleton.getInstance();
var instance2 = Singleton.getInstance();
alert("Same instance? " + (instance1 === instance2));
}
Run Code Online (Sandbox Code Playgroud)
正如我们在上面的代码中看到的,我们创建的是单例函数而不是类.如果有任何方法可以创建单例类并将该类中的多个变量作为objective-c或swift传递,请告诉我.注意:如果我的方向错误,也请通知我.
小智 7
这是我对单例类的实现......
Controller.js
export default class Controller {
static sharedInstance = Controller.sharedInstance == null ? new Controller() : this.sharedInstance
printHelloWorld() {
console.log("\n\tHello World... \(^_^)/ !!")
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
import Controller from 'Controller.js'
Controller.sharedInstance.printHelloWorld()
Run Code Online (Sandbox Code Playgroud)
你可以使用类似的东西
class SingletonClass {
static instance = null;
static createInstance() {
var object = new SingletonClass();
return object;
}
static getInstance () {
if (!SingletonClass.instance) {
SingletonClass.instance = SingletonClass.createInstance();
}
return SingletonClass.instance;
}
}
var instance1 = SingletonClass.getInstance();
var instance2 = SingletonClass.getInstance();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8724 次 |
| 最近记录: |