在图像加载的React 15.1中取消引用null

时间:2016-06-01 23:19:54

标签: javascript reactjs

在更新后,我发现了一个奇怪的错误,从反应0.14反应15.1:

  

ReactDOMComponentTree.js:105 Uncaught TypeError:无法读取属性' __ reactInternalInstance $ wzdyscjjtuxtcehaa6ep6tj4i'为null

似乎a"加载"来自使用数据url隐藏在页面中的图像的事件导致事件并且反应在DOM上行走,当它击中顶部元素时反应注入它没有parentElement然后尝试访问" null&#上的成员34; parentElement

简化申请(删节):

class App extends React.Component {    
  render() {
    return <div id="rootcomponent">
      ...
    </div>;
  }
}

ReactDOM.render(<App/>, document.getElementById('app'));

结果HTML:

<div id="app">
  <div id="rootcomponent">
    ...
  </div>
</div>

id为#&#34; rootelement&#34;有一个null parentElement导致错误。否则这个页面看起来很复杂,这让我感到困惑。

堆栈跟踪:

getClosestInstanceFromNode (ReactDOMComponentTree.js:105)
findParent (ReactEventListener.js:39)
handleTopLevelImpl (ReactEventListener.js:68)
Mixin.perform (Transaction.js:136)
ReactDefaultBatchingStrategy.batchedUpdates (ReactDefaultBat…Strategy.js:63)
batchedUpdates (ReactUpdates.js:98)
ReactEventListener.dispatchEvent (ReactEventListener.js:150)

纠正这个问题的想法?也许是反应错误?

3 个答案:

答案 0 :(得分:9)

我是Derp。

我刚注意到我的javascript被加载了两次。我还更新了主要版本的HtmlWebpackPlugin,它改变了一些涉及注入javascript的行为。所以它在我的模板中,插件也注入了它。

从模板中删除行以便JavaScript加载一次后,一切都很好。

这是我在下午5点更新图书馆所得到的。

答案 1 :(得分:0)

这不仅仅是错字问题吗?重新调整的JSX内容缺少括号

class App extends React.Component {    
  render() {
    return (<div id="rootcomponent">
      ...
    </div>);
  }
}

答案 2 :(得分:0)

@Thomas他是对的。就我而言,我手动填充index.html中的 vendor.js ,同时,我配置webpack使用HtmlWebpackPlugin来注入发出的 vendor.js 以及。

显然,它会加载 vendor.js 两次并抛出相同的错误。