以下仿照OC風(fēng)格寫個React單例。
let instance = null;
var name = '';
export default class AppStatusManager{
constructor(){
if (!instance) {
instance = this;
}
return instance;
}
/***
* 類方法
*/
static ShareInstance(){
let singleton = new AppStatusManager();
return singleton;
}
/***
* 實例方法
*/
setName(name){
this.name = name;
}
getName(){
return this.name;
}
}
如上一個簡單的單例就寫好了鸭巴。constructor 系統(tǒng)構(gòu)造方法,ShareInstance 自己寫的普通方法拦盹,前面加上static變成類方法,默認是實例方法鹃祖。
調(diào)用類方法創(chuàng)建對象
let statusManager = AppStatusManager.ShareInstance();
statusManager.setName('9999999999');
statusManager.getName();
調(diào)用new方法創(chuàng)建對象
let statusManager = new AppStatusManager();
statusManager.setName('9999999999');
statusManager.getName();