From 93fe02d680ffc6169761e9a694f6d5f26170bca0 Mon Sep 17 00:00:00 2001 From: "Xc@centOs" Date: Thu, 20 Jun 2024 18:49:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E7=9A=84oakId?= =?UTF-8?q?=E5=8F=98=E5=8C=96=E4=B8=8D=E8=83=BD=E7=94=A8prevState=E5=8A=A0?= =?UTF-8?q?=E4=BB=A5=E5=88=A4=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- es/page.mp.js | 15 +++++++-------- lib/page.mp.js | 15 +++++++-------- src/page.mp.ts | 21 ++++++++++----------- 3 files changed, 24 insertions(+), 27 deletions(-) diff --git a/es/page.mp.js b/es/page.mp.js index d6b4d0f3..328ef909 100644 --- a/es/page.mp.js +++ b/es/page.mp.js @@ -521,14 +521,13 @@ const oakBehavior = Behavior({ // 在init状态小程序也可能会调这个observer,先忽略之 return; } - if (data !== this.prevState.oakId) { - if (this.state.oakFullpath) { - if (data) { - this.features.runningTree.setId(this.state.oakFullpath, data); - } - else { - this.features.runningTree.unsetId(this.state.oakFullpath); - } + // oakId是props,不能用prevState来追踪其前期 + if (this.state.oakFullpath) { + if (data) { + this.features.runningTree.setId(this.state.oakFullpath, data); + } + else { + this.features.runningTree.unsetId(this.state.oakFullpath); } } }, diff --git a/lib/page.mp.js b/lib/page.mp.js index feb86731..6ff1a72d 100644 --- a/lib/page.mp.js +++ b/lib/page.mp.js @@ -524,14 +524,13 @@ const oakBehavior = Behavior({ // 在init状态小程序也可能会调这个observer,先忽略之 return; } - if (data !== this.prevState.oakId) { - if (this.state.oakFullpath) { - if (data) { - this.features.runningTree.setId(this.state.oakFullpath, data); - } - else { - this.features.runningTree.unsetId(this.state.oakFullpath); - } + // oakId是props,不能用prevState来追踪其前期 + if (this.state.oakFullpath) { + if (data) { + this.features.runningTree.setId(this.state.oakFullpath, data); + } + else { + this.features.runningTree.unsetId(this.state.oakFullpath); } } }, diff --git a/src/page.mp.ts b/src/page.mp.ts index d8e2f753..3cdf2e76 100644 --- a/src/page.mp.ts +++ b/src/page.mp.ts @@ -745,17 +745,16 @@ const oakBehavior = Behavior< // 在init状态小程序也可能会调这个observer,先忽略之 return; } - if (data !== this.prevState.oakId) { - if (this.state.oakFullpath) { - if (data) { - this.features.runningTree.setId( - this.state.oakFullpath, - data - ); - } - else { - this.features.runningTree.unsetId(this.state.oakFullpath); - } + // bugfixed: oakId是props,不能用prevState来追踪其前项值 + if (this.state.oakFullpath) { + if (data) { + this.features.runningTree.setId( + this.state.oakFullpath, + data + ); + } + else { + this.features.runningTree.unsetId(this.state.oakFullpath); } } },