Javascript Redux中的扩展属性

Javascript Redux中的扩展属性,javascript,reactjs,ecmascript-6,redux,Javascript,Reactjs,Ecmascript 6,Redux,我试图在我的减缩器中使用spread属性,但它返回时出现了一个无效的语法错误。我的构建支持使用扩展操作符,因为我只在减缩器中得到错误 auth_types.js export const AUTH_USER = 'AUTH_USER' export const UNAUTH_USER = 'UNAUTH_USER' auth_actions.js import { AUTH_USER, UNAUTH_USER } from './auth_types' export functio

我试图在我的减缩器中使用spread属性,但它返回时出现了一个无效的语法错误。我的构建支持使用扩展操作符,因为我只在减缩器中得到错误

auth_types.js

export const AUTH_USER = 'AUTH_USER'
export const UNAUTH_USER = 'UNAUTH_USER'
auth_actions.js

import { AUTH_USER, UNAUTH_USER } from './auth_types'



   export function signinUser({ email, password }) {
      return function(dispatch) {
        axios.post(`${ROOT_URL}/signin`, { email, password })
          .then(response => {
            dispatch({ type: AUTH_USER })

            browserHistory.push('/feature')
          })
      }
    }
reducer.js

import { AUTH_USER, UNAUTH_USER } from '../actions/auth_types'

export default function(state = {}, action) {
  switch(action.type) {
    case AUTH_USER:
      return { ...state, authenticated: true }
    case UNAUTH_USER:
      return { ...state, authenticated: false }
  }

  return state
}
发件人:

由于对象扩展语法仍然是ECMAScript的第2阶段建议,您需要使用诸如Babel之类的transpiler在生产中使用它。您可以使用现有的es2015预设,单独安装并添加到
.babelrc
中的插件阵列中

请注意,这仍然是一个实验性的语言特性建议,因此将来可能会发生变化

发件人:

由于对象扩展语法仍然是ECMAScript的第2阶段建议,您需要使用诸如Babel之类的transpiler在生产中使用它。您可以使用现有的es2015预设,单独安装并添加到
.babelrc
中的插件阵列中

请注意,这仍然是一个实验性的语言特性建议,因此将来可能会发生变化


如果您正在使用webpack,可以通过启用stage-2预设来解决此问题

首先安装npm软件包:

npm install --save babel-preset-stage-2
然后将stage-2添加到
webpack.config.js
中的预设数组中:

module: {
  loaders: [
    {
      test: /\.jsx?$/,
      exclude: /node_modules/,
      loader: 'babel-loader',
      query: {
        presets:[ 'es2015', 'react', 'stage-2' ]
      }
    }
  ]
}

如果您正在使用webpack,可以通过启用stage-2预设来解决此问题

首先安装npm软件包:

npm install --save babel-preset-stage-2
然后将stage-2添加到
webpack.config.js
中的预设数组中:

module: {
  loaders: [
    {
      test: /\.jsx?$/,
      exclude: /node_modules/,
      loader: 'babel-loader',
      query: {
        presets:[ 'es2015', 'react', 'stage-2' ]
      }
    }
  ]
}

成功了。为什么语法在我的项目中的其他地方起作用?不知道,对不起。除非你在一个iterable上使用排列,比如数组、字符串或映射。啊,它在一个数组上。谢谢你的努力。为什么语法在我的项目中的其他地方起作用?不知道,对不起。除非你在一个iterable上使用排列,比如数组、字符串或映射。啊,它在一个数组上。谢谢