ho fatto in questo modo. Ho un index.js a cui fa riferimento il mio package.json come il file principale da avviare (con npm start). In esso ho (rimosso alcune importazioni e quali per brevità):
import './stylesheets/fonts.css';
import './stylesheets/main.css';
injectTapEventPlugin();
// custom MuiTheme overriding the getMuiTheme() values
const muiTheme = getMuiTheme({
palette: {
textColor: cyan500,
},
appBar: {
color: grey300,
textColor: cyan500,
height: 50
},
});
const Index =() => (
<MuiThemeProvider muiTheme={muiTheme}>
<Root />
</MuiThemeProvider>
)
render(
<Index />,
document.getElementById('app')
);
che dipende da un altro file di root, che si trova nel mio container/file di Root.jsx:
const store = configureStore();
// Create an enhanced history that syncs navigation events with the store
const history = syncHistoryWithStore(browserHistory, store);
let onUpdate =() => {window.scrollTo(0, 0); };
export default class Root extends Component {
render() {
return (
<Provider store={store}>
<div>
<Router history={history} onUpdate={onUpdate}>
<Route path="/" component={App}>
<IndexRoute component={Home}/>
<Route path="home" component={Home}/>
<Redirect path="*" to="/" />
</Route>
</Router>
<DevTools/>
</div>
</Provider>
);
}
}
Il prossimo è l'App , che contiene il mio layout iniziale della mia richiesta (nei miei contenitori/file di App.jsx):
export default class App extends Component {
constructor(props, context) {
super(props, context);
}
static propTypes = {
children: PropTypes.node
}
render() {
return (
<Grid fluid>
<Row>
<Col>
<Header active={this.props.active} />
</Col>
</Row>
<Row>
<Col>
{this.props.children}
</Col>
</Row>
<Row>
<Col>
<Footer/>
</Col>
</Row>
</Grid>
);
}
}
const mapStateToProps = (state, ownProps) => {
return {
active: ownProps.history.isActive
};
};
export default connect(mapStateToProps)(App)
sto usando il reagire componente griglia di flessione per il layout.
Finora questo funziona per me. Spero che ti aiuti. Non dimenticare la chiamata injectTapEventPlugin(), come ho nel mio file index.js. Ho anche importato i file .css lì per la mia app.
Nel frattempo l'ho risolto, in realtà molto simile a quello che hai fatto tu. Quando ho iniziato la domanda ho usato anche lo stilo e questo ha dato gli errori. Così ho finito per rimuoverlo. – Grego
ti capita di avere un elenco originale di importazioni? Voglio cercare di fare qualcosa di simile a questo, ma non sono sicuro di come allineare le mie importazioni con le tue. Grazie. –