javascript - 无法在 React 中获取数组状态值
问题描述
当我尝试获取值时...this.state.users
显示反应错误
反应代码
handleChange(i, e) {
const { name, value } = e.target;
let users = [...this.state.users];
users[i] = { ...users[i], [name]: value };
this.setState({ users });
}
我的 webpack 文件
const path = require('path');
module.exports = (env) => {
const isProduction = env === 'production';
return {
entry: './src/index.js',
output: {
path: path.join(__dirname, 'public'),
filename: 'bundle.js',
},
module: {
rules: [
{
loader: 'babel-loader',
test: /\.js$/,
exclude: /node_modules/,
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
},
],
},
};
}
错误是
ERROR in ./src/components/Index.js
[1] Module build failed: SyntaxError: E:/Program/reactjs/check/client/src/components/Index.js: Unexpected token (47:15)
请帮我解决这个错误
解决方案
看来您需要正确配置 babel。根据这篇文章,您需要确保安装了 stage-0 预设:
npm install --save-dev babel-preset-stage-0
并配置:
{
"presets":[
"es2015", "react", "stage-0"
]
}
但是,如果您使用的是 Babel v7 或更高版本,则必须使用不同的安装和配置:
npm install --save-dev @babel/plugin-proposal-object-rest-spread
并将其放入您的 .babelrc 文件中:
{
"plugins": ["@babel/plugin-proposal-object-rest-spread"]
}
推荐阅读
- python - For 循环未正确执行
- r - 如何在循环中生成多个数据帧
- apache-kafka - Kafka Connect:java.lang.IllegalStateException:分区没有当前分配
- r - R:如何将颜色分配给特定值
- postgresql - Apollo 和 3rd 方休息 api。我应该将第 3 方数据存储在数据库中吗
- sql-server - 没有循环的行生成
- spring - 系统属性的 Spring 大写格式作为环境变量
- python - 如何在编写 django 应用程序时创建管理员用户
- angular - 基于屏幕宽度的各种屏幕响应
- google-bigquery - BigQuery 如何处理数据?