![](/img/trans.png)
[英]Webpack/Babel/React - “Uncaught SyntaxError: Unexpected token :”
[英]React + Redux + Babel (SyntaxError in …state unexpected token)
我嘗試重復該示例: https : //github.com/reduxjs/redux/tree/master/examples/async/src
但是我使用的是React
, Redux
和Babel
最新版本(例如,React v15.5)。 我在此示例中未進行任何更改,然后嘗試使用webpack進行構建,並在此處獲取SyntaxError:
22 | case INVALIDATE_SUBREDDIT:
23 | return {
> 24 | ...state,
| ^
25 | didInvalidate: true
26 | }
在./reducers/index.js
const posts = (state = {
isFetching: false,
didInvalidate: false,
items: []
}, action) => {
switch (action.type) {
case INVALIDATE_SUBREDDIT:
return {
...state,
didInvalidate: true
}
case REQUEST_POSTS:
return {
...state,
isFetching: true,
didInvalidate: false
}
case RECEIVE_POSTS:
return {
...state,
isFetching: false,
didInvalidate: false,
items: action.posts,
lastUpdated: action.receivedAt
}
default:
return state
}
}
怎么了
更新:
在AdityaParab回答后,我做出了:
npm install --save-dev babel-preset-stage-3
並在您的.babelrc中
{
"presets": ["env", "stage-3", "react"]
}
最后一個錯誤消失了,但是我在./containers/App.js
增加了./containers/App.js
:
19 | }
20 |
> 21 | handleChange = nextSubreddit => {
| ^
22 | this.props.dispatch(selectSubreddit(nextSubreddit))
23 | }
24 |
更新2:
很好用。
{
"presets": ["env", "stage-3", "react"],
"plugins": ["transform-object-rest-spread", "transform-decorators-legacy", "transform-class-properties"]
}
謝謝大家的指教!
預設問題
第一
npm install --save-dev babel-preset-stage-3
並在您的.babelrc
{
"presets": ["env", "stage-3", "react"]
}
您將要連接對象,因此應遵循ES6語法。
您當前的語法是錯誤的。
return {
...state,
didInvalidate: true
}
應該是這樣的
return {
...state,
...{ didInvalidate: true }
}
完全更換它,然后重試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.