Skip to content

Commit

Permalink
fix(mini): 修复 useLayoutEffect 触发时机,fix #6069 (#6355)
Browse files Browse the repository at this point in the history
Chen-jj authored May 18, 2020
1 parent 0677d20 commit d2473ee
Showing 6 changed files with 12 additions and 6 deletions.
3 changes: 2 additions & 1 deletion packages/taro-alipay/src/lifecycle.js
Original file line number Diff line number Diff line change
@@ -186,8 +186,8 @@ function doUpdate (component, prevProps, prevState) {
}

const cb = function () {
invokeEffects(component)
if (component.__mounted) {
invokeEffects(component)
if (component['$$refs'] && component['$$refs'].length > 0) {
component['$$refs'].forEach(ref => {
if (ref.type !== 'component') return
@@ -241,6 +241,7 @@ function doUpdate (component, prevProps, prevState) {

if (Object.keys(dataDiff).length === 0) {
cb()
invokeEffects(component)
} else {
component.$scope.setData(dataDiff, cb)
}
3 changes: 2 additions & 1 deletion packages/taro-jd/src/lifecycle.js
Original file line number Diff line number Diff line change
@@ -188,8 +188,8 @@ function doUpdate (component, prevProps, prevState) {
}

const cb = function () {
invokeEffects(component)
if (__mounted) {
invokeEffects(component)
if (component['$$refs'] && component['$$refs'].length > 0) {
component['$$refs'].forEach(ref => {
// 只有 component 类型能做判断。因为 querySelector 每次调用都一定返回 nodeRefs,无法得知 dom 类型的挂载状态。
@@ -228,6 +228,7 @@ function doUpdate (component, prevProps, prevState) {
}
if (Object.keys(dataDiff).length === 0) {
cb()
invokeEffects(component)
} else {
component.$scope.setData(dataDiff, cb)
}
3 changes: 2 additions & 1 deletion packages/taro-qq/src/lifecycle.js
Original file line number Diff line number Diff line change
@@ -188,8 +188,8 @@ function doUpdate (component, prevProps, prevState) {
}

const cb = function () {
invokeEffects(component)
if (__mounted) {
invokeEffects(component)
if (component['$$refs'] && component['$$refs'].length > 0) {
component['$$refs'].forEach(ref => {
// 只有 component 类型能做判断。因为 querySelector 每次调用都一定返回 nodeRefs,无法得知 dom 类型的挂载状态。
@@ -229,6 +229,7 @@ function doUpdate (component, prevProps, prevState) {
}
if (Object.keys(dataDiff).length === 0) {
cb()
invokeEffects(component)
} else {
component.$scope.setData(dataDiff, cb)
}
3 changes: 2 additions & 1 deletion packages/taro-swan/src/lifecycle.js
Original file line number Diff line number Diff line change
@@ -188,8 +188,8 @@ function doUpdate (component, prevProps, prevState) {
}

const cb = function () {
invokeEffects(component)
if (__mounted) {
invokeEffects(component)
if (component['$$refs'] && component['$$refs'].length > 0) {
component['$$refs'].forEach(ref => {
// 只有 component 类型能做判断。因为 querySelector 每次调用都一定返回 nodeRefs,无法得知 dom 类型的挂载状态。
@@ -234,6 +234,7 @@ function doUpdate (component, prevProps, prevState) {
}
if (Object.keys(dataDiff).length === 0) {
cb()
invokeEffects(component)
} else {
component.$scope.setData(dataDiff, cb)
}
3 changes: 2 additions & 1 deletion packages/taro-tt/src/lifecycle.js
Original file line number Diff line number Diff line change
@@ -187,8 +187,8 @@ function doUpdate (component, prevProps, prevState) {
}

const cb = function () {
invokeEffects(component)
if (component.__mounted) {
invokeEffects(component)
if (component['$$refs'] && component['$$refs'].length > 0) {
component['$$refs'].forEach(ref => {
// 只有 component 类型能做判断。因为 querySelector 每次调用都一定返回 nodeRefs,无法得知 dom 类型的挂载状态。
@@ -230,6 +230,7 @@ function doUpdate (component, prevProps, prevState) {

if (Object.keys(dataDiff).length === 0) {
cb()
invokeEffects(component)
} else {
component.$scope.setData(dataDiff, cb)
}
3 changes: 2 additions & 1 deletion packages/taro-weapp/src/lifecycle.js
Original file line number Diff line number Diff line change
@@ -189,8 +189,8 @@ function doUpdate (component, prevProps, prevState) {
}

const cb = function () {
invokeEffects(component)
if (__mounted) {
invokeEffects(component)
if (component['$$refs'] && component['$$refs'].length > 0) {
component['$$refs'].forEach(ref => {
// 只有 component 类型能做判断。因为 querySelector 每次调用都一定返回 nodeRefs,无法得知 dom 类型的挂载状态。
@@ -229,6 +229,7 @@ function doUpdate (component, prevProps, prevState) {
}
if (Object.keys(dataDiff).length === 0) {
cb()
invokeEffects(component)
} else {
component.$scope.setData(dataDiff, cb)
}

0 comments on commit d2473ee

Please sign in to comment.