我有一个问题,我不知道如何解决它。所以我有一个组件,我在其中声明了一个对象数组。我想单独设置它的状态,但我不想声明多个useStates。
我有一个对象数组,如下所示:
const [card, setCard] = useState({
name: "",
questions: [
{
question: "",
answer: "",
},
{
question: "",
answer: "",
},
{
question: "",
answer: "",
},
{
question: "",
answer: "",
},
{
question: "",
answer: "",
},
{
question: "",
answer: "",
},
{
question: "",
answer: "",
},
{
question: "",
answer: "",
},
{
question: "",
answer: "",
},
],
});
组件如下:
const NewCard = () => {
const handleNameChange = (event) => {
setCard({ name: event.target.value, ...questions });
};
return (
<div className="newcard-container">
<div className="card-container">
<h3>Podaj nazwe fiszki</h3>
<input type="text" value={card.name} />
</div>
<div className="questions-container">
{card.questions.map((q) => {
return (
<div className="question">
<h4>Podaj pytanie </h4>
<input type="text" value={q.question} />
<h4>Podaj odpowiedź</h4>
<input type="text" value={q.answer} />
</div>
);
})}
<button>Dodaj pytanie</button>
</div>
</div>
);
};
我试着找出如何改变setState来获得这种方法,但是我没有成功。有什么想法吗?
3条答案
按热度按时间guicsvcw1#
再次,不确定这是否是你所需要的,所以让我知道。
这分别处理每个问题的答案更改和卡片标题更改。我在网上的一个奇怪的编辑器中写了这个,所以它可能不完美,但应该可以工作。
sycxhyv72#
它应该
bihw5rsg3#
您有几种方法可以做到这一点。
但是如果你想使用数组,你可以这样做: