Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 자바스크립트
- 스프링 문자 인증
- JSTL 사용방법
- 소셜로그인 API
- css 레이아웃
- sql 타입
- 인텔리제이 콘솔 한글깨짐 해결방법
- 스프링 시큐리티
- 스프링 엑셀 다운로드 의존성
- 리액트 훅 사용하기
- JSTL 초기세팅
- 프론트엔드
- 문자보내는 API
- 자바 문법
- 스프링 엑셀 다운로드 기능 만들기
- CSS
- 엑셀 다운로드 기능
- HTML
- 스프링 문자보내기 API
- 문자보내는 API사용방법
- 자바스크립트 변수 상수 차이
- SQL 문법
- css layout
- 인텔리제이 콘솔 한글안됨
- 스프링 엑셀 다운로드 기능
- 인텔리제이 콘솔 한글깨짐
- coolSMS 사용방법
- 프론트엔드개발자
- 리액트 Context 사용방법
- 스프링 문자보내기 구현
Archives
- Today
- Total
keembloo
React hook 정리 / 리액트 훅이란? / useState 정리 본문
728x90
리액트 훅이란 ?
리액트 훅은 함수형 컴포넌트에서 React state와 생명주기기능을 연동할 수 있게해주는 함수이다.
원래 리액트 컴포넌트 함수 안에서 지역변수를 선언했을 시
함수 안의 변수의 값을 변동시켜도 변동되지 않는다.
랜더링은 1번만 일어나기 때문이다.
이러한 점들때문에 변수 관리를 해주어 재랜더링 하는 기능이 바로 훅이다.
useState 함수 사용 방법
1. 컴포넌트 위에 임폴트 먼저 해준다.
import { useState } from 'react';
useState는 리액트 내장함수중에 useState 훅 중의 하나의 함수이다.
2. useState 의 결과값은 배열 0 인덱스에는 값이
배열 1 인덱스에는 함수가 있다.
useState[0] : 값
지역변수X , 랜더링할때 재선언X , 랜더링할때 상태[데이터] 유지
useState[1] : 그 값을 수정할 수 있는 함수
해당 컴포넌트만 재실행 [ 재랜더링 ]
let [ 변수명 , set함수명 ] = useState( 초기값 )
*예제코드
// ------------------------- JS 형식 ------------------------ //
import { useState } from 'react'; // 리액트 내장함수중에 useState 훅 중의 하나의 함수
export default function 상태관리컴포넌트(){
let value1 = 10;
function value1증가( e ){ value1++; }
//useState함수에 매개변수 전달하고 2개를 가지는 배열 리턴
let 상태함수 = useState('훅이란무엇인가?');
console.log( 상태함수 );
console.log( 상태함수[0] );
console.log( 상태함수[1] );
let [ value2 , setValue2 ] = useState( 10 );
function value2증가( e ){
value2++
setValue2( value2 );
}
alert('컴포넌트 랜더링중 / 함수 (재)실행 ');
let value3 = '텍스트입력';
let [ value4 , setValue4 ] = useState('텍스트입력');
// - 입력값이 체인지 될때마다 실행되는 함수.
const value4변경 = (e )=>{ setValue4( e.target.value ); }
// e.target.value
// 해당 이벤트를 실행한 마크업/컴포넌트
// document.querySelector('input').value ;
// ------------------- JSX 형식 START --------------- //
return(<>
{/* */}
<div> { value1 } <button onClick={ value1증가 } > value1증가 </button> </div>
<div> { value2 } <button onClick={ value2증가 } > value2증가 </button> </div>
<div> <input type="text" /> </div>
<div> <input type="text" value = { value3 } /> </div>
<div> <input type="text" value = { value4 } onChange = { value4변경 } /> </div>
</>);
// ------------------- JSX 형식 END --------------- //
}
// ------------------------- JS 형식 ------------------------ //
728x90
'React' 카테고리의 다른 글
Unterminated JSX contents. 에러 해결방법 (0) | 2023.10.31 |
---|---|
a태그와 Link태그 차이점 / <a> <Link> 차이점 (0) | 2023.10.31 |
SpringBoot + React 통합 환경 구성하기 (버전확인필수) (0) | 2023.10.25 |
React 리액트 CORS 에러 해결방법 (0) | 2023.10.24 |
React 외부라이브러리 설치하는 방법(react-router-dom라이브러리) (1) | 2023.10.23 |