当你点击某个组件时,如何将组件 prop 添加到阵列中?
我已经Map了组件,当您单击时,它们的{name}应该会添加到阵列中或从阵列中删除。
但是peopleArr
保持为空。
// App.tsx
import React from 'react';
import { useState } from "react";
import Card from "./Card";
import people from "../../data/people";
let arr: string[] = [];
function App() {
const [peopleArr, setNames] = useState(arr);
function addName(name: string) {
if (name && !peopleArr.includes(name)) {
setNames((peopleArr) => [...peopleArr, name]);
} else {
peopleArr.filter((el: string) => el !== name);
}
}
return (
<div>
{people.map((person) => (
<Card key={person.id} name={person.name} onClick={() => addCard(person.name)} />))}
</div>
);
}
我试过了,但一点效果都没有
<Card key={person.id} name={person.name} onClick={() => addCard(person.name)} />))}
我试着把所有的东西都加到组件里面,也没有成功,而且它只保存了一个名字。
1条答案
按热度按时间u3r8eeie1#
我认为问题出在函数调用上,您的函数名是
addName
,但您将其命名为addCard