2016-09-23 161 views
0

我使用create-react-app命令來創建我的項目,我很奇怪按鈕onClick不會觸發。我看到這個錯誤,我以前反應按鈕onClick不會觸發

invariant.js:38 Uncaught Invariant Violation: addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's "render" method, or you have multiple copies of React loaded

不知道這是否錯誤導致按鈕單擊不費一槍沒見過。代碼非常簡單,在其他項目中工作正常。

import React from 'react'; 

const MyComponent = React.createClass({ 
    myClick: function() { 
     alert("Hello World!"); 
    }, 

    render: function() { 
     return(
     <div> 
      <button onClick={this.myClick}>Click Me</button> 
     </div> 
    ); 
    } 
}); 

export default MyComponent; 
+0

這很可能是「你有多個React加載副本」。什麼是你的package.json以及項目的樣子? – goldbullet

+0

的package.json具有這些依賴關係: 「devDependencies」:{ 「反應的腳本」: 「0.4.3」 }, 「依賴性」:{ 「反應」: 「^ 15.3.2」, 「react- dom「:」^ 15.3.2「, 」react-router「:」^ 2.8.1「 }, – ychui

+1

和這個組件在哪裏掛載? – goldbullet

回答

0

固定。僅供參考,這是node_modules的問題,沒有反應。我在我的項目中使用bootstrap,不知何故,我忘記了npm install bootstrap,並且npm試圖在我的計算機的根節點node_modules文件夾中找到bootstrap,這會導致此錯誤。在運行「npm install react-bootstrap --save」和「npm install bootstrap @ 3 --save」後,它正在工作。