umijs/hox

建议增加一个销毁方法

fgfg163 opened this issue · 0 comments

使用版本 1.1.4

hox使用 createModal 创建实例,但是没有销毁方法,在 modal 里使用副作用例如监听dom元素没有办法在最后销毁。

建议增加一个销毁方法以便触发 unmount

如果没有别的办法,可以考虑在 render (Executor 的时候多套一层根节点,销毁的时候把数据节点从根节点上移除就能触发 unmount

export function createModel<T, P>(hook: ModelHook<T, P>, hookArg?: P) {

export function createModel<T, P>(hook: ModelHook<T, P>, hookArg?: P) {
  const container = new Container(hook);
  render(
    <Executor
      onUpdate={val => {
        container.data = val;
        container.notify();
      }}
      hook={() => hook(hookArg)}
    />
  );
  // ......
}