Исходя из обсуждения здесь и здесь , я хотел бы создать две кнопки, которые будут отображать / скрывать состояние всех подробных тегов в проекте 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 делает что-то глупое и самоуверенное на заднем плане, что мешает этой простой функциональности. Каков источник этой проблемы и как ее можно исправить?