티스토리 뷰
0. 들어가면서
useState를 활용해서 내용을 숨기고 보이는 방법에 대해 알아보자. 우선은 앞의 useState 기초를 확인하고 오자. 우리가 만들 것은 버튼 누를 시 특정 내용이 보이고, 다시 누르면 안보이게 하는 것이다.
기초 개념은 아래에서 참고하자.
[Web/React] - [react web] 시작 후 파일 정리
[Web/React] - [react web] Hook 기초_useState
[Web/React] - [react web] Hook 기초_useEffect
[Web/React] - [React Web] AWS EC2 배포 ALL-IN-ONE
[Web/React] - [react web] mocking 모킹 방법 (msw로 데이터 가져오기)
1. 코드
기본적인 component 생성과 사용법은 여기를 통해서 확인하면 된다. 아래는 ViewContent라는 jsx파일을 만들고 글을 적어준 것이다.
import React, {useState} from 'react';
const ViewContent = () => {
const [hanpy, setHanpy] = useState(false);
const handleView = () => {
setHanpy(!hanpy)
}
return (
<>
<p>
ViewContent 파일
</p>
<button onClick={handleView}>ViewControl</button>
{(hanpy?
<p>image나 text가 들어가 있다.</p>
:
<></>
)}
</>
)
}
export default ViewContent;
코드 설명은 button을 누르면 handleview 함수가 실행되면서 p태그 내용이 보였다 안보였다 한다.
const [hanpy, setHanpy] = useState(false);
useState를 활용해서 useState 변수를 지정했다. 초기값은 false이다
setHanpy(!hanpy)
hanpy의 boolean 값을 !를 이용해서 반대로 변경하는 코드이다.
{(hanpy?
<p>image나 text가 들어가 있다.</p>
:
<></>
)}
위의 코드는 if문이라고 생각 해도 된다. hanpy가 true일 때는 p태그의 내용이 보이고, false일 때는 빈값이 보이게 만들었다.
((조건) ? 조건이 참이면 보여진다 : 조건이 거짓이면 보여진다) |
위의 방식을 사용하면, 내용을 접었다가 펴는 웹사이트를 만들 수 있다. 참 쉽다.
'Web > React' 카테고리의 다른 글
[react web] Hook 기초_useEffect (0) | 2021.11.24 |
---|---|
[react web] mocking 모킹 방법 (msw로 데이터 가져오기) (0) | 2021.11.18 |
[react web] Hook 기초_useState (0) | 2021.11.10 |
[React aws]error:0308010C:digital envelope routines::unsupported (1) | 2021.11.09 |
[react web] 컴포넌트 만들기 (0) | 2021.11.07 |
- Total
- Today
- Yesterday
- django
- read_csv
- Queue
- 클라우데라
- 자료구조
- NextJS
- BFS
- login
- nextjs autoFocus
- JavaScript
- Express
- typescript
- next.config.js
- Deque
- UserCreationForm
- vuejs
- nodejs
- mongoDB
- TensorFlow
- error:0308010C:digital envelope routines::unsupported
- react
- DFS
- Vue
- logout
- pandas
- 자연어처리
- useState
- Python
- useHistory 안됨
- react autoFocus
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |