我试着重复这个例子:https://github.com/reduxjs/redux/tree/master/examples/async/src
但是我使用了React、Redux和Babel的最后一个版本(例如Reactivev15.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中又取了一个错误
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"]
}谢谢大家的建议!
发布于 2018-09-06 11:47:35
预置问题
第一
npm install --save-dev babel-preset-stage-3在你的.babelrc里
{
"presets": ["env", "stage-3", "react"]
}发布于 2018-09-06 11:39:39
您将连接对象,因此您应该遵循ES6语法。
您当前的语法是错误的。
return {
...state,
didInvalidate: true
}应该是这样
return {
...state,
...{ didInvalidate: true }
}完全替换它,然后再试一次。
https://stackoverflow.com/questions/52203216
复制相似问题