@withRouter 意外令牌错误
@withRouter Unexpected Token Error
似乎每次我必须在新项目中设置 React Router 时,我 运行 可能会通过版本更改进入新的东西。
我正在使用 reactjs 和 mobx 状态树(尽管此时还没有使用任何东西)。
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import HomeComponent from './HomeComponent.js';
import {withRouter, Route} from 'react-router'
@withRouter
export default class App extends Component {
render() {
return (
<Route exact path='/' component={HomeComponent}/>
);
}
}
export default App;
当我 运行 我得到
ERROR in ./src/components/App.js
Module build failed: SyntaxError /components/App.js: Unexpected token (6:0)
我也收到一些警告
Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning.
编辑
根据 "Artem Mirchenko"
的评论
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'mobx-react';
import { useStrict } from 'mobx';
import createBrowserHistory from 'history/createBrowserHistory';
import {syncHistoryWithStore } from 'mobx-react-router';
import { Router } from 'react-router'
import AppContainer from './components/App';
const browserHistory = createBrowserHistory();
import stores from '../src/stores/Stores';
const history = syncHistoryWithStore(browserHistory, stores.routingStore);
ReactDOM.render(
<Provider {... stores}>
<Router history={history}>
<AppContainer />
</Router>
</Provider>,
document.getElementById('app')
);
import {RouterStore} from 'mobx-react-router';
const routingStore = new RouterStore();
const stores = {
routingStore
}
export default stores;
您需要安装babel插件transform-decorators-legacy
。
通过纱线:
yard add --dev transform-decorators-legacy
查看 npm:
npm install --save-dev transform-decorators-legacy
并在你的 babel 选项中添加到插件 ket:
{
// pressets ....
"plugins": ["transform-decorators-legacy"]
}
似乎每次我必须在新项目中设置 React Router 时,我 运行 可能会通过版本更改进入新的东西。
我正在使用 reactjs 和 mobx 状态树(尽管此时还没有使用任何东西)。
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import HomeComponent from './HomeComponent.js';
import {withRouter, Route} from 'react-router'
@withRouter
export default class App extends Component {
render() {
return (
<Route exact path='/' component={HomeComponent}/>
);
}
}
export default App;
当我 运行 我得到
ERROR in ./src/components/App.js
Module build failed: SyntaxError /components/App.js: Unexpected token (6:0)
我也收到一些警告
Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning.
编辑
根据 "Artem Mirchenko"
的评论import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'mobx-react';
import { useStrict } from 'mobx';
import createBrowserHistory from 'history/createBrowserHistory';
import {syncHistoryWithStore } from 'mobx-react-router';
import { Router } from 'react-router'
import AppContainer from './components/App';
const browserHistory = createBrowserHistory();
import stores from '../src/stores/Stores';
const history = syncHistoryWithStore(browserHistory, stores.routingStore);
ReactDOM.render(
<Provider {... stores}>
<Router history={history}>
<AppContainer />
</Router>
</Provider>,
document.getElementById('app')
);
import {RouterStore} from 'mobx-react-router';
const routingStore = new RouterStore();
const stores = {
routingStore
}
export default stores;
您需要安装babel插件transform-decorators-legacy
。
通过纱线:
yard add --dev transform-decorators-legacy
查看 npm:
npm install --save-dev transform-decorators-legacy
并在你的 babel 选项中添加到插件 ket:
{
// pressets ....
"plugins": ["transform-decorators-legacy"]
}