答案 0 :(得分:0)
将您的 isOpen
设置为一个对象,然后根据需要将布尔值分配为 isOpen[index]=false|true
。在 HTML 中,绑定为 isOpen[i] &&...
您在这里所做的问题是变量 isOpen
与您的 Questions
对象无关。
答案 1 :(得分:0)
您可以将 isOpen
更改为一个对象并像这样设置。
const [isOpen, setIsOpen] = useState({})
const toggle = (i) => setIsOpen({...isOpen, [i]:!isOpen[i]})
然后像这样使用
<button onClick={() => toggle(i)} key={i}>
{element.question}
</button>
{isOpen[i] && <p key={i}>{element.answer}</p>}