파일명 - Accordion.jsx
import { useState } from 'react';
function Accordion({ title, content}) {
const [isOpened, setIsOpened] = useState(false);
return (
<div>
<div
style = {{
background: '#666',
color: 'white',
fontWeight: 'bold',
padding: 10,
display: 'flex',
justifyContent: 'space-between',
width : 500
}}
onClick = {() => {
setIsOpened((state) => !state);
}}>
<div>{title}</div>
<div>{isOpened ? '-' : '+'}</div>
</div>
{isOpened && (
<div style = {{
border: '1px solid #999',
padding: 20
}}>
{content}
</div>
)}
</div>
);
}
export default Accordion;
파일명 - App.jsx
import { useState } from 'react'
import reactLogo from './assets/react.svg'
import viteLogo from '/vite.svg'
import './App.css'
import axios from 'axios';
import Accordion from './practice/Accordion'
function App() {
return (
<div style={{fontSize: '2rem', padding: 30}}>
<Accordion
title = "제목"
content = "내용"
/>
</div>
)
}
export default App
버튼을 클릭할 때 마다 접었다 펼칠 수 있는 아코디언이 완성됩니다.
'IT지식 > 리액트(React) 공부' 카테고리의 다른 글
11. React로 간단한 설문조사 Form 만들기 (0) | 2025.03.03 |
---|---|
10. React Event 모음 (0) | 2025.03.03 |
7. React Hooks의 정의와 종류에 대해 알아보자 (0) | 2025.03.03 |
8.React 렌더링 과정 (0) | 2025.03.02 |
6.React Props를 활용하여 간단한 웹페이지 제작 (0) | 2025.03.02 |