I Reagieren Komponenten-Material-UI entwickeln:Reagieren und Material-UI: Uncaught unveränderliche Verletzung: removeComponentAsRefFrom (...)
Dies funktioniert
MainView.js
import React, { Component } from 'react';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import { List, ListItem } from 'material-ui/List';
class MainView extends Component {
render() {
return (
<MuiThemeProvider>
<List>
<ListItem primaryText="item 1" />
<ListItem primaryText="item 2" />
<ListItem primaryText="item 3" />
</List>
</MuiThemeProvider>
);
}
}
export default MainView;
aber wenn ich <List>
zu einer anderen Komponente verschiebe
MainView.js
import React, { Component } from 'react';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import MyListView from './MyListView';
// this import was removed as unused as <List> moved to MyListView:
// import { List, ListItem } from 'material-ui/List';
class MainView extends Component {
render() {
return (
<MuiThemeProvider>
<MyListView />
</MuiThemeProvider>
);
}
}
MyListView.js
import React, { Component } from 'react';
import { List, ListItem } from 'material-ui/List';
class MyListView extends Component {
render() {
return (
<List>
<ListItem primaryText="item 1" />
<ListItem primaryText="item 2" />
<ListItem primaryText="item 3" />
</List>
);
}
}
export default MyListView;
in diesem Fall erhalte ich diese:
Uncaught unveränderliche Verletzung: removeComponentAsRefFrom (.. .): Nur ein R eactOwner kann refs haben. Möglicherweise entfernen Sie eine Referenz zu einer Komponente , die nicht innerhalb der `render` -Methode einer Komponente erstellt wurde, oder Sie haben mehrere Kopien von React loaded (Details: link) .
main.js
ReactDOM.render((
<Provider store={store}>
<Router history={hashHistory}>
<Route path="/" component={App} />
<Route path="/test" component={MainView} />
</Router>
</Provider>
), document.getElementById('root'));
Jeder Vorschlag, dies zu entkommen? Vielen Dank!
Können Sie alle 'import' Anweisungen in' MainView.js' anzeigen? –