Dojo 2在dojo2中有渲染生命周期钩子吗?

时间:2018-04-25 04:38:45

标签: javascript reactjs dojo2

我正在研究Dojo 2项目。我知道Dojo 2上的项目并不多,很难得到它的支持。无论如何我在渲染生命周期钩子后寻找dojo 2小部件? 在React,我们有: -

componentDidMount: function() { console.log('Component rendered')},

小部件渲染生命周期钩子之后的dojo 2怎么样?

2 个答案:

答案 0 :(得分:2)

runAfterRenders方法并不打算在窗口小部件中被覆盖(实际上应该是private)。使用@afterRender装饰器是正确的钩子,可以根据readme内省窗口小部件的结果。

class MyWidget extends WidgetBase {

    @afterRender()
    myAfterRender(vnode: VNode) {
         // do something with the resulting vnode
         vnode.children = [ ...vnode.children, 'Another Text Node' ];

         return vnode;
    }


    protected render() {
        return v('div', [ 'text' ]);
    }
}

onAttach挂钩可能是一个更等效的生命周期来响应componentDidMount,这是一个方法生命周期,可以像componentDidMount一样实现。

希望这有帮助!

答案 1 :(得分:1)

我得到了解决方案: Dojo 2小部件具有runAfterRenders生命周期钩子,可以在渲染后触发。

protected runAfterRenders(dNode: DNode | DNode[]): DNode | DNode[] { return dNode; }

希望这会有所帮助。