I have a basic FAQ component in React. My problem is when I open an accordion item, I cannot close it again when I click on it. The only way I can close the accordion is to click another question. But I also want to close it when I clicked on the question. Here is my code:
import React from "react";
import {
Accordion,
AccordionItem,
AccordionItemHeading,
AccordionItemButton,
AccordionItemPanel,
} from "react-accessible-accordion";
import "react-accessible-accordion/dist/fancy-example.css";
export default function FAQ() {
return (
<>
<Accordion>
<AccordionItem>
<AccordionItemHeading>
<AccordionItemButton>Question 1</AccordionItemButton>
</AccordionItemHeading>
<AccordionItemPanel>
<p>
Exercitation in fugiat est ut ad ea cupidatat ut in cupidatat
occaecat ut occaecat consequat est minim minim esse tempor laborum
consequat esse adipisicing eu reprehenderit enim.
</p>
</AccordionItemPanel>
</AccordionItem>
<AccordionItem>
<AccordionItemHeading>
<AccordionItemButton>Question 2</AccordionItemButton>
</AccordionItemHeading>
<AccordionItemPanel>
<p>
Exercitation in fugiat est ut ad ea cupidatat ut in cupidatat
occaecat ut occaecat consequat est minim minim esse tempor laborum
consequat esse adipisicing eu reprehenderit enim.
</p>
</AccordionItemPanel>
</AccordionItem>
</Accordion>
</>
);
}
You need to provide a boolean prop allowZeroExpanded to the Accordion.
<Accordion allowZeroExpanded>
...
</Accordion>
It will let you close the last one which would otherwise remain always opened. See this official demo.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With