reactjs - 我在 React 中的 State 变量,其数据类型为数组,其 setter 应该作为 push() 对数组不起作用
问题描述
代码:
const [departmentNames,setDepartmentNames]=React.useState([]);
console.log(typeof(departmentNames));
Object.keys(departments).forEach(
(key)=>{
console.log("department="+departments[key].name)
setDepartmentNames(departments[key].name);
}
);
在第一行代码中,我创建了一个部门名称作为数组,但在行中
console.log(typeof(departmentNames));
输出是字符串。
我如何将 DepartmentNames 设为一个 ARRAY,其设置器为 push()。
解决方案
您如何创建一个新数组,然后在完成创建后使用 setter 设置状态。例如:
const [departmentNames,setDepartmentNames] = React.useState([]);
let newArray = [];
Object.keys(departments).forEach((key)=>{
console.log("department="+departments[key].name)
newArray.push(departments[key].name)
});
setDepartmentNames(newArray);
推荐阅读
- laravel - 从 laravel 中的控制器获取 for 循环中 $i 的所有值以显示在视图中
- javascript - Onchange JavascripCode 无法正常工作
- php - 产品列表 - 产品标题正在切割 - Advada 主题,wordpress
- c - 为什么标准 C 库不需要分为头文件和实现文件?
- objective-c - 有没有办法在 NSApplicationMain 之前修改参数?
- ios - 在 iOS 上,是否可以仅为包含应用程序设置 NEPacketTunnelProvider VPN?
- node.js - PM2 命令未在 PowerShell 脚本下运行
- css - 透视在 FireFox 上不起作用
- java - 使用增删词的索引和内容更新原句
- python - python 2相当于带有pandas df的get_dummies