如何从事件处理程序中的对象打印多个键?
这里是链接到我的代码-https://codesandbox.io/s/suspicious-hamilton-erkqv
在第35行,我用对象“x”调用事件处理程序ChangeName。我可以打印一个名为“name”(x.name)的键。我如何打印x对象的所有3个道具(名称、id、类型)??
尝试将x转换为object.keys(x)的数组,但当我循环通过输出时,它会给出一个错误,说不能使用map函数
const ChangeName = x => {
setvalue(x.name);
};
<div>{value}</div> // display the results
正在运行的代码:
import React, { useState, useEffect } from "react";
import ReactDOM from "react-dom";
function App() {
const [posts, setposts] = useState([]);
const [values, setvalue] = useState([]);
useEffect(() => {
const posts = [
{
id: 1,
name: "Name 1",
type: "Type 1"
},
{
id: 2,
name: "Name 2",
type: "Type 2"
},
{
id: 3,
name: "Name 3",
type: "Type 3"
},
{
id: 4,
name: "Name 4",
type: "Type 4"
}
];
setposts(posts);
}, []);
const ChangeName = x => {
console.log(Object.values(x));
Object.values(x).map(k => setvalue(k));
};
return (
<div>
<ul>
{posts.map(post => (
<li key={post.id}>
{post.name},{post.type}
<button onClick={ChangeName.bind(this, post)}>More Info</button>
</li>
))}
</ul>
<div>{values}</div>
</div>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
你需要设置值而不是值。
你的值不是一个数组,它是一个对象,为什么你不能使用map方法,这就是它的工作原理:
import React, { useState, useEffect } from "react";
import ReactDOM from "react-dom";
function App() {
const [posts, setposts] = useState([]);
const [value, setvalue] = useState("");
useEffect(() => {
const posts = [
{
id: 1,
name: "Name 1",
type: "Type 1"
},
{
id: 2,
name: "Name 2",
type: "Type 2"
},
{
id: 3,
name: "Name 3",
type: "Type 3"
},
{
id: 4,
name: "Name 4",
type: "Type 4"
}
];
setposts(posts);
}, []);
const ChangeName = x => {
setvalue(x);
};
return (
<div>
<ul>
{posts.map(post => (
<li key={post.id}>
{post.name},{post.type}
<button onClick={() => ChangeName(post)}>More Info</button>
</li>
))}
</ul>
<div>
{value.name}
{value.id}
{value.type}
</div>
</div>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
问题内容: 我对Json文件很陌生。如果我有一个包含多个json对象的json文件,例如: 我想将所有“时间戳记”和“有用性”提取到一个数据帧中: 有谁知道解决此类问题的一般方法? 问题答案: 使用json数组,格式为: 然后将其导入到您的python代码中 现在,数据的内容是一个带有字典的数组,字典表示每个元素。 您可以轻松访问它,即:
我目前有两个表格:劳动力和员工。劳动力表是所有提交简历加入公司的潜在员工的集合。Employees表是Workforce表中实际雇用的人员的集合。 环境:1。Eclipse 2。Java(J2EE)3。Maven 4。Spring5。JPA(JpaRepository) 为简洁起见,我将坚持使用与数据提取和数据插入另一个表有关的文件。 由于两个表的相似性,Workforce表中的许多字段将与Emp
我现在的代码: 我希望它打印两个数组的交集,而不需要再次打印相同的数字。 E、 g:code>[1,2,2,1]和的交点应该只打印一次,而不是像我现在的代码那样。
我有一个简短的问题 我有飞行、水上课程和动物课程 如果我只想打印出动物对象数组中的飞行物体 做这样的事安全吗 或 执行此操作并重写toString方法 我是java新手,所以我甚至不确定这两个是否正确。所以欢迎任何帮助 谢谢你的帮助 编辑- 对不起,模棱两可的问题这是我问题的一个例子 我可以做输出 = A.toString() 来获取对象字符串还是我必须做 并重写toString方法以打印出类和示
我有以下数据结构: <代码>地图 我想从这个复杂的 Map 对象中提取它的值(它本身是另一个字符串 Map)。我目前正在这样做: 上面的实现给了我一个新的Map对象,由于外部循环,它正在迭代。似乎我错过了什么。 如何从复杂的 Map 对象中提取内部 Map 对象? 编辑: 回应AlexWien的评论 原始数据结构: 原始数据结构背后的原因是为一对id(ID1和ID2)存储一个值。ID1和ID2可以
我的数组正在加载,并且正在按计划(按照它们在文件中出现的顺序)将卡打印出来。当我尝试在单独的方法中循环遍历arraylist以检查数据是否存在时,它只打印最后一个对象而不是每个对象。有人能告诉我为什么吗? 加载法 和getAll()方法 运行时,它只打印出.txt文件中的最后一张牌“KS”(黑桃之王)。有人能告诉我为什么会这样吗? 谢谢 }