2017-01-07 100 views
1

时,当尝试使用AppBar在材料UI的0.16.6版本冲突作出反应,我得到以下错误使用材料UI

Uncaught Error: 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. 

它看起来像一个反应冲突错误。

我的代码如下:

App.js

import React, { Component } from 'react'; 
import AppBar from 'material-ui/AppBar'; 
import {deepOrange500} from 'material-ui/styles/colors'; 
import getMuiTheme from 'material-ui/styles/getMuiTheme'; 
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider'; 

const muiTheme = getMuiTheme({ 
    palette: { 
    accent1Color: deepOrange500, 
    }, 
}); 

class App extends Component { 
    render() { 
    return (
     <MuiThemeProvider muiTheme={muiTheme}> 
     <AppBar/> 
     </MuiThemeProvider> 
    ); 
    } 
} 

export default App; 

index.js

import injectTapEventPlugin from 'react-tap-event-plugin'; 
import React from 'react'; 
import ReactDOM from 'react-dom'; 
import App from './App'; 

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

有没有人遇到过这种,或有没有人知道如何解决这个问题呢?

+0

删除节点模块文件夹并执行npm install,如果是lib冲突问题,它会得到解决。 –

回答

1

index.js文件,您需要这个ReactDOM.render调用之前:

// Needed for onTouchTap event handling 
injectTapEventPlugin(); 

看看是否能清除了问题。如果不是,请尝试删除node_modules文件夹并再次运行npm install