我正在尝试在使用 React 的现有项目上使用 MDL,但遇到了几个问题。第一次加载时情况似乎很好,尽管有很多警告消息:
警告:ReactMount:根元素已从其原始容器中删除。新容器:
对于每个具有 MDL 识别的类的 DOM 元素(例如:mdl-layout、mdl-layout__content 等),几乎都会发生这种情况,并且在任何 DOM 更改时都会发生这种情况。
此外,在更改路线时,会出现“Invariation Violation”错误:
未捕获的错误:不变违规:findComponentRoot(..., .0.2.0.1.1.0.0.0.0):无法找到元素。这可能意味着 DOM 被意外变异(例如,被浏览器)......
这是否意味着 MDL 和 React 几乎不兼容?
更新:如果带有 class="mdl-js-layout" 的元素不是 reactjs 渲染函数中最顶层的元素,问题就会消失。一旦我包裹了那个元素,一切都很好。