"parser": "babel-eslint",
"ecmaFeatures": {
"experimentalObjectRestSpread": true,
"spread": true,
......"dependencies": {
"babel-eslint": "^8.0.3",
"babel-plugin-react-transform": "^3.0.0",
"babel-plugin-syntax-object-rest-spread": "^6.13.0",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
....
}
"presets": ["es2015", "stage-0", "react"] {
"presets": ["env", "react"],
"plugins": [
"transform-runtime",
"transform-decorators-legacy",
"transform-class-properties",
"transform-object-rest-spread",
[
"module-resolver",
{
"root": ["./src"],
"alias": {
"styles": "./styles"
}
}
]
],
"env": {
"test": {
"plugins": [
"transform-runtime",
"transform-decorators-legacy",
"transform-class-properties",
"transform-object-rest-spread"
]
}
}
}
module.exports = [
{
test: /\.js|jsx?$/,
exclude: /(node_modules|bower_components|public\/)/,
loader: 'babel-loader',
},
{
test: /\.css$/,
loaders: ['style-loader', 'css-loader?importLoaders=1', 'postcss-loader'],
exclude: ['node_modules'],
},
{
test: /\.(jpg|png|gif|svg|ttf|eot|woff|woff2|otf)$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'file-loader',
options: {
name: '[path][name].[ext]',
},
},
},
]
success: prevState => {...prevState, data: payload.data}success: prevState => ({...prevState, data: payload.data})