【问题标题】:Redux return and change state with ... dots [duplicate]Redux返回并使用...点更改状态[重复]
【发布时间】:2017-02-26 12:25:57
【问题描述】:

我不明白我做错了什么 我试图将状态对象上的用户更改为新用户

const initialState = {
  users:{},
}


const userReducer = (state = initialState, action) => {

    if (action.type == "FETCH_USERS") {

        return {
            ...state,
            users: action.payload
        }
    }

    return state;
}

错误是

ERROR in ./index.js
Module build failed: SyntaxError: C:/app/index.js: Unexpected token (77:12)

  75 |
  76 |         return {
> 77 |             ...state,
     |             ^
  78 |             users: action.payload
  79 |         }
  80 |     }

【问题讨论】:

  • 您应该使用 babel 或其他一些库来将 es6 编译回 es5。你在做吗?
  • 是的,我正在使用 babel-preset-es2015 @Patryk
  • @T.J.拥挤我的 package.json "devDependencies": { "babel-core": "^6.23.1", "babel-loader": "^6.3.2", "babel-preset-es2015": "^6.22.0" ,“babel-preset-react”:“^6.23.0”,“css-loader”:“^0.26.1”,“style-loader”:“^0.13.1”,“webpack”:“^2.2. 1", "webpack-dev-server": "^2.4.0" }
  • @T.J.克劳德谢谢你让我知道,我不知道
  • @Patryk:我记错了,顺便说一句;我不知道 ES2017 中是否会传播对象,它仍处于第 3 阶段,而我们在 2 月底,6 月即将到来......

标签: javascript ecmascript-6 redux


【解决方案1】:

你说过你正在使用es2015 Babel 预设。该语法不是 ES2015 的一部分; ES2015 有 iterable spread 语法,但没有 object spread (spread properties) 语法。你应该使用react preset,它已经有很长时间了(或者你可以使用stage-3预设,因为传播属性现在是第3阶段)。

【讨论】:

  • 我使用 babel-preset-react 就够了吗?
  • @דניאללביא:那么文件在出现错误之前不会被转译。
猜你喜欢
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2018-09-28
  • 2016-11-20
  • 1970-01-01
  • 2016-08-31
  • 2021-07-02
  • 1970-01-01
相关资源
最近更新 更多