根据此处和此处的讨论,我想创建两个按钮来显示/隐藏 Docusaurus 项目中所有详细信息标签的状态。
目前,我为此拥有的最佳候选代码如下:
const React = require('react')
const {useState} = React;
const SamplePage = (props) => {
const [isOpen, setIsOpen] = useState(false);
const siteConfig = props.config
return (
<div>
<details open={isOpen}>
<summary>
First text detail.
</summary>
<p>testing</p>
</details>
<details open={isOpen}>
<summary>
Second text detail.
</summary>
<p>testing</p>
</details>
<details open={isOpen}>
<summary>
Third text detail.
</summary>
<p>testing</p>
</details>
<button onClick={() => setIsOpen(true)}>Open All Details.</button>
<button onClick={() => setIsOpen(false)}>Close All Details.</button>
</div>
);
}
module.exports = SamplePage;
Docusaurus 服务器完美加载此页面,但按钮onClick
无效。这与我是否将button
布尔值从切换true
到false
.
从前面的答案可以看出,这个构造的代码片段工作得很好。但是,我相信 Docusaurus 在后台做了一些愚蠢和固执的事情,这干扰了这个简单的功能。这个问题的根源是什么,如何解决?