- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我刚开始使用 React,有几次我在想:“为什么没有 componentDidRender 事件?”。
假设我有一个将表格呈现给 DOM 的组件,我想使用 bootstrap-sortable在此表上允许用户根据他想要的任何列进行排序。在 bootstrap-sortable 的情况下,您需要在绘制表格后运行 $.boostrapSortable()
以初始化插件。
在我看来,React 组件上有两个处理程序可以合理地考虑用于此目的:
componentDidMount
:这不起作用,因为 DOM 在执行的这个点似乎没有更新。
componentDidUpdate
:这可能有效,但不会在初始渲染时触发。
我并不是说 React 实际上缺少 componentDidRender 函数,因为我认为对于为什么没有它存在一个完全合乎逻辑的解释。我只是问是否有人可以解释为什么不存在这样的功能,以及处理上述情况的“React 方式”是什么。
最佳答案
在 componentDidMount
中,您可以执行: this.getDOMNode()
以获取对该组件的底层 DOM 的引用。因此,如果您确实想将已安装的组件与 jQuery 一起使用,您可以这样做:
componentDidMount: function() {
$(this.getDOMNode());
}
http://facebook.github.io/react/docs/working-with-the-browser.html
这是一个显示 jQuery 作用于 React 组件的 DOM 节点的 fiddle :
http://jsfiddle.net/sa5e88ys/1/
如您所见,它按预期向 div 添加了边框。如果您仍然遇到问题,我想可能是您使用的插件而不是 jQuery 或 React?
关于javascript - react .js : Why is there no componentDidRender event?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27688311/
我是一名优秀的程序员,十分优秀!