【发布时间】:2021-05-27 01:00:59
【问题描述】:
我不知道如何问这个问题,但基本上我只想要显示不同文本的按钮列表。当您单击一个按钮时,它会显示文本。但不是硬编码每个按钮,我希望它是动态的。到目前为止,当我单击任何按钮时,所有内容都会显示而不是单独显示。 (一个按钮应该显示一个定义”我认为这可能是我使用状态的方式。
import React, { useState } from "react";
import terms from "./TermsComponentData.js";
import "./TermsComponent.css";
function TermsComponent() {
const [showTerm, setShowTerm] = useState(false);
const buttonList = terms.map((term, index) => (
<div>
{showTerm && <h1>{term.definition}</h1>}
<button
key={index}
className="buttons-container-button"
onClick={() => {
setShowTerm(!showTerm);
}}
>
{term.name}
</button>
</div>
));
return (
<div className="terms-container">
<div className="buttons-container">{buttonList}</div>
</div>
);
}
我的数据
const terms = [
{
name: "Term1",
definition: "This is the definition1",
},
{
name: "Term2",
definition: "This is the definition2",
},
{
name: "Term3",
definition: "This is the definition 3",
},
{
name: "Term4",
definition: "This is the definition 4",
}
];
export default terms;
【问题讨论】: