我有一个反身手风琴部件。在手风琴的每一张卡片中都有一个任务要完成,然后是一个“保存”按钮。此按钮将完成的任务写入数据库。
我也希望保存按钮折叠当前卡并展开下一张卡。我可以通过创建一个调用useAccordionToggle(eventKey) onClick (在调用子程序之前)的customer组件来实现这一点:
function AccordianButton({ children, eventKey }) {
return (
<Button
onClick={useAccordionToggle(eventKey)}
>
{children}
</Button>
);
}到目前一切尚好!
问题是,我只想折叠手风琴卡,一旦我确信数据库写入已经成功的。
我想不出有什么办法。如果我试图在处理程序函数中调用useAccordionToggle,就会得到一个钩子错误,因为我在组件之外。有办法这样做吗?
发布于 2020-09-02 08:30:14
我已经意识到您可以使用activeKey参数并使用React组件的状态来驱动它,因此可以从任何地方控制它。比使用eventKey参数容易得多。
https://stackoverflow.com/questions/63695644
复制相似问题