我有一个useState()
钩子来断言或拒绝 3 个标签的open
( isOpen
) 属性,detail
还有 2 个button
(s) 来控制钩子,所有这些都包含在一个div
:
const {useState} = React;
const SamplePage = () => {
const [isOpen, setIsOpen] = React.useState(false);
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(false)}>Open All Details.</button>
<button onClick={() => setIsOpen(true)}>Close All Details.</button>
</div>
);
}
ReactDOM.render(<SamplePage/>, document.getElementById("root"));
<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.9.0/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.9.0/umd/react-dom.production.min.js"></script>
此代码是 Docusaurus 项目的一部分,类似于 Create React App。它包括所有必需的包和配置脚本,包括imports
/ exports
。
在这种情况下,两个按钮都不会产生预期的onClick
效果,即将所有isOpen
属性视为setIsOpen
集合的一部分,因此激活 useState
挂钩功能以打开/关闭所有detail
元素。这是我设置的工件还是代码本身?