@cicada/render
Advanced tools
Comparing version 1.0.8 to 1.0.9
@@ -271,3 +271,5 @@ 'use strict'; | ||
/* eslint-disable no-console */ | ||
console.warn('connected component should never received new props, statePath: ' + this.getResolvedStatePath(), this.props, nextProps); | ||
if (!(0, _util.shallowEqual)(this.props, nextProps)) { | ||
console.warn('connected component should never received new props, statePath: ' + this.getResolvedStatePath(), this.props, nextProps); | ||
} | ||
/* eslint-enable no-console */ | ||
@@ -274,0 +276,0 @@ } |
@@ -52,3 +52,3 @@ 'use strict'; | ||
var paused = false; | ||
var started = false; | ||
/* | ||
@@ -116,6 +116,18 @@ { | ||
jobNameByStateId[stateId].push(name); | ||
// 1. 扔到启动函数中,这样在启动时就会跑一次 | ||
startFns.push(function () { | ||
return run(stateId, name); | ||
}); | ||
// TODO 这样还是有问题的。 | ||
// 本来设计启动函数是为了在数据稳定之后再执行依赖。这样可以避免前面的组件要去读后面组件的值读不到。 | ||
// 但是动态动态添加的组件,例如 repeat 中新增的,增加的时候树就已经稳定了。由于我们的框架没有接管声明周期 | ||
// 无法判断数据何时完全稳定,因此只能先通过 started 这种标记来处理。 | ||
if (started) { | ||
setTimeout(function () { | ||
return run(stateId, name); | ||
}, 1); | ||
} else { | ||
// 1. 扔到启动函数中,这样在启动时就会跑一次 | ||
startFns.push(function () { | ||
return run(stateId, name); | ||
}); | ||
} | ||
// 2. 将数据注册到 job 中去 | ||
@@ -142,2 +154,3 @@ return job.register.apply(job, [stateId, config].concat(rest)); | ||
}); | ||
started = true; | ||
}, | ||
@@ -144,0 +157,0 @@ pause: function pause() { |
{ | ||
"name": "@cicada/render", | ||
"version": "1.0.8", | ||
"version": "1.0.9", | ||
"main": "./lib/index.js", | ||
@@ -5,0 +5,0 @@ "scripts": { |
326159
7871