有什么简单的方法可以仅从 JavaScript 生成 "componentDidUpdate()" 生命周期方法吗?

Is there any easy way of making "componentDidUpdate()" lifeycycle method from ONLY JavaScript?

我想从头开始创建自己的 componentDidUpdate() 生命周期方法。 React 是怎么做到的? Vue.JS 是如何制作自己的生命周期方法的。我尝试研究 Vue.JS 缩小版,但它让我很困惑。如果可以请告诉我,谢谢。类似于下面的内容。

Element.prototype.whenUpdated = function() {
  /*some codes here that runs when the HTML element is updated*/
}

componentDidUpdate 仅在视图框架的上下文中才有可能(并且仅真正有意义),其中元素的状态保存在框架内,并且视图的更改源于对框架的状态。框架状态的更改通过框架方法公开。

这里有一个小例子来说明类似的东西:

// Framework code
class CustomDiv {
  constructor(sel, text) {
    this.container = document.querySelector(sel);
    this.text = text;
    this.update();
  }
  setText(newText) {
    this.text = newText;
    this.update();
  }
  update() {
    this.container.textContent = this.text;
    this.updateCallback?.();
  }
}

// Interact with the framework...
const customDiv = new CustomDiv('.container', 'initial text');
customDiv.updateCallback = () => {
  console.log('updated!');
};
setTimeout(() => {
  customDiv.setText('new text');
}, 1000);
<div class="container"></div>

虽然确实存在 MutationObserver,它可以观察 native 元素的内容和属性等的变化,但这是完全不同的事情。