是否有办法阻止对反应组件中嵌入的节点进行移除/更改。
例如,我有一个react组件,它充当非反应组件的容器,该组件自己管理它的DOM。有没有办法为reactjs标记这些组件,以便它不会修改它的DOM?
在我的情况下,我希望我的反应组件可以被CKeditor内联编辑,但是反应总是删除/破坏编辑器和它添加到DOM的所有节点,因为它们没有在react组件本身中定义。所以它认为那些元素不应该存在。
有什么想法吗?
答案 0 :(得分:13)
如果您从组件上的false
方法返回shouldComponentUpdate
,则React将跳开,并且将跳过该子树的整个对帐过程。当然,这意味着您需要在该区域自己管理所有DOM突变,并且无法利用React。
答案 1 :(得分:0)
在https://facebook.github.io/react/tips/dangerously-set-inner-html.html上查看dangerouslySetInnerHTML。
这是添加标记的方法,该标记不会影响React的更新方法以及不受支持的标记。
这样您仍然可以更新 组件,而不会更新部分内容。