mobx 7.0.3 → 7.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1390,7 +1390,10 @@
1390
1390
  reportObserved(this);
1391
1391
  if (shouldCompute(this)) {
1392
1392
  let prevTrackingContext = globalState.trackingContext;
1393
- if (this.keepAlive_ && !prevTrackingContext) {
1393
+ if (!prevTrackingContext && (this.keepAlive_ || this.isBeingObserved)) {
1394
+ // An observed or keep-alive computed can be recomputed by an untracked
1395
+ // read, for example from inside an action. Its dependencies are still
1396
+ // transitively observed and must fire their lifecycle hooks
1394
1397
  globalState.trackingContext = this;
1395
1398
  }
1396
1399
  if (this.trackAndCompute()) {