问题描述
想为react实现一个Log功能
可以在react任何生命周期函数内调用setLog,Log方法内有自己的DOM实现
由于Log数据量较大,每次setLog转字符串对比感觉既不优雅又有性能开销
相关代码
var Log = {};
var strLog = '';
function setLog(key, val) {
Log[key] = val;
var cacheLog = strLog;
strLog = JSON.stringify(YHH5Log);
if (cacheLog == strLog) {
// TODO
}
}
function getLog(key) {
return Log[key];
}
module.exports = {
setLog: setLog,
getLog: getLog,
}
你期待的结果是什么?实际看到的错误信息又是什么?
- 请问对象原型链上有监听其变化的方法吗?
- 用Object.defineProperty如何实现?
PS:尽量不使用ES6新语法实现,不然要在控件内再拉个babel
利用

Object.defineProperty()
定义属性的set
和get
方法。