簡體   English   中英

React + Redux + Babel(SyntaxError…表示意外的令牌)

[英]React + Redux + Babel (SyntaxError in …state unexpected token)

我嘗試重復該示例: https : //github.com/reduxjs/redux/tree/master/examples/async/src

但是我使用的是ReactReduxBabel最新版本(例如,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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM