【发布时间】:2018-06-22 08:45:14
【问题描述】:
我一直在使用这个功能:
window.FindReact = function (dom) {
for (var key in dom) {
if (key.startsWith('__reactInternalInstance$')) {
var compInternals = dom[key]._currentElement;
var compWrapper = compInternals._owner;
var comp = compWrapper._instance;
return comp;
}
}
return null;
};
var someElement = $x("someElement")[0];
window.FindReact(someElement).setState({
hover: true
});
将鼠标悬停在我们网站中的元素上,但从 React 16 开始,这会因错误而中断
'VM25001:1 Uncaught TypeError: Cannot read property '_owner' of undefined at window.FindReact (:1:181) at :3:18'
我该如何解决这个问题?
【问题讨论】:
-
不幸的是,它们不再在 React 16 中公开 React 内部。此时您唯一的选择是降级到 React 15。
标签: javascript reactjs browser-automation