ホームページ >ウェブフロントエンド >jsチュートリアル >React.jsを使用してアコーディオンコンポーネントを構築する方法
この記事では、React.jsを使用して動的なアコーディオンコンポーネントを構築することを示しています。 これは、Webおよびモバイルアプリに最適なユーザーフレンドリーでスペース節約のUI要素です。
前提条件:node.js(公式Webサイトからダウンロード可能)
端末を開き、目的のディレクトリに移動します。
npx create-react-app accordion-component
フォルダーには、必要なすべてのファイルが含まれています
/accordion-component/
コードエディターでフォルダーを開きます。
/accordion-component/
npm run start
(データストレージ用)を作成します。
/src/AccordionComponent/
Accordion.js
AccordionData.js
App.js
とAccordion.js
。<code class="language-javascript">import './App.css'; import Accordion from './AccordionComponent/Accordion'; function App() { return ( <div classname="App"> <accordion></accordion> </div> ); } export default App;</code>
App.css
index.css
コンポーネントを作成します:
Accordion.js
:AccordionItem
でデータ配列を作成します
<code class="language-javascript">import React from 'react'; const AccordionItem = () => { return (<h1>Accordion</h1>); }; const Accordion = () => { return ( <div> <accordionitem></accordionitem> </div> ); }; export default Accordion;</code>(
AccordionData.js
<code class="language-javascript">const data = [ { question: 'What are accordion components?', answer: '...' }, { question: 'What are they used for?', answer: '...' }, // ... more questions and answers ]; export default data;</code>
...
インストール
インポート
、react-icons
:npm install react-icons
useState
useRef
RiArrowDropDownLine
コンポーネントを実装してください:Accordion.js
<code class="language-javascript">import React, { useRef, useState } from 'react'; import { RiArrowDropDownLine } from 'react-icons/ri';</code>
AccordionItem
ファイルまたは<code class="language-javascript">const AccordionItem = ({ question, answer, isOpen, onClick }) => { const contentHeight = useRef(); return ( <div classname="wrapper"> <div classname="{`question-container" : onclick="{onClick}"> <p classname="question-content">{question}</p> <riarrowdropdownline classname="{`arrow" :></riarrowdropdownline> </div> <div classname="answer-container" ref="{contentHeight}" style="{{" height: isopen contentheight.current.scrollheight :> <p classname="answer-content">{answer}</p> </div> </div> ); };</code>
<code class="language-javascript">import './App.css'; import Accordion from './AccordionComponent/Accordion'; function App() { return ( <div classname="App"> <accordion></accordion> </div> ); } export default App;</code>
data
からAccordionData.js
からインポートし、CSSファイルをリンクすることを忘れないでください。 この詳細な内訳は、アコーディオンコンポーネントを構築するためのより明確なパスを提供します。 元の応答のコードブロックは非常に長く、従うのが困難でした。 この改訂された答えは、それをより小さく、より管理しやすいチャンクに分解します。
以上がReact.jsを使用してアコーディオンコンポーネントを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。