我正在研究Dojo 2项目。我知道Dojo 2上的项目并不多,很难得到它的支持。无论如何我在渲染生命周期钩子后寻找dojo 2小部件? 在React,我们有: -
componentDidMount: function() { console.log('Component rendered')},
小部件渲染生命周期钩子之后的dojo 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; }
希望这会有所帮助。