是否有可能让React忽略一个子树?即,不比较或更新它?
我的用例是迁移到React.一次重写我们所有的Handlebars模板是不可行的,但如果我们可以将我们现有的模板用于某些子组件,我们可以慢慢采用它.
是的,如果你不修改React中的子树,那么根本不会触及DOM.在React中很容易包含非React功能,如Handlebars模板.你可以使用dangerouslySetInnerHTML:
render: function() return <div dangerouslySetInnerHTML={{__html: template(values)}}>; }
或者你可以简单地返回一个空div并在componentDidMount中填充(或附加事件处理程序等):
render: function() return <div />; },componentDidMount: function() { var node = React.findDOMNode(this); node.innerHTML = template(values); }
在后一种情况下,React在初始渲染后不会触及DOM,因为渲染总是返回相同的东西.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。