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); } } },