![](/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.