I have the following set up:
And I am trying to do the following:
case 'UPDATE_PASSWORD':
return {
...state, //preserve current state, apply changes to it below
password: action.password,
};
but I am getting:
Unexpected token (5:8)
at where '...' starts
What may be the issue? How do I check if I am using ES6?
答案 0 :(得分:6)
This is a proposed ECMAScript feature (object spread) and can be enabled by adding stage-0
to your babel presets:
npm install --save-dev babel-preset-stage-0
Then, in your .babelrc
or within your webpack.config.js
query add the preset to your babel settings. Example .babelrc
:
{
"presets": [
"es2015",
"react",
"stage-0"
]
}
Or, if you make use of the webpack babel-loader
query string:
{
test: /\.jsx?$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: ['es2015', 'react', 'stage-0']
}
}
EDIT
Babel presets are an assortment of many transformations. As per zerkms' suggestion, you could use stage-2
, which does not include/transpile many other features you may not be using at this time. If you really just want the object spread to work, you can also just install transform object rest spread.