일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- stopPropogation
- vue
- 리액트
- Filter
- Spring Security
- MSA
- vuejs
- SpringRESTDocs
- UsernamePasswordAuthenticationFilter
- tasklet
- T-OTP
- Pender
- cheerio
- OpenStack
- axios
- preventdefault
- gradle
- Flyway
- cloud native
- Reduxpender
- Spring Batch
- openapi3
- AuthenticatoinProvide
- REACT
- MFA
- Crawling
- Spring REST Docs
- SWAGGER
- JavaScript
- SpringBoot
- Today
- Total
목록전체 글 (87)
Miracle Morning, LHWN
# useRef의 기능은 아래 두 가지이다. (1) 컴포넌트에서 특정 DOM을 선택해야 할 때 (2) 컴포넌트에서 조회 및 수정할 수 있는 변수를 관리할 때 → useRef로 관리하는 변수는 값이 바뀐다고 해서 컴포넌트가 리렌더링되는 것은 아니다. (상태 State는 '상태를 바꾸는 함수를 호출 > 렌더링 > 업데이트된 상태 조회'하는 반면, useRef는 설정 후 바로 조회할 수 있음) # useRef 변수로 관리할 수 있는 값은 아래와 같다. (1) setTimeout, setInterval 을 통해 만들어진 Id (2) 외부 라이브러리를 사용하여 생성된 인스턴스 (3) scroll 위치 // App.js import React, { useRef } from 'react'; import UserL..
import React from 'react'; function UserList() { const users = [ { id: 1, username: 'velopert', email: 'public.velopert@gmail.com' }, { id: 2, username: 'tester', email: 'tester@example.com' }, { id: 3, username: 'liz', email: 'liz@example.com' } ]; return ( {users[0].username} ({users[0].email}) {users[1].username} ({users[1].email}) {users[2].username} ({users[1].email}) ); } export default Us..
# JavaScript에서 특정 DOM을 선택할 때에는 getElementById, querySelector 같은 DOM Selector 함수를 사용한다. # 리액트에서는 함수형 컴포넌트의 경우 useRef 라는 Hook 함수를, 클래스형 컴포넌트에서는 React.createRef 라는 함수를 이용한다. # useRef의 기능은 아래 두 가지이다. (1) 컴포넌트에서 특정 DOM을 선택해야 할 때 (2) 컴포넌트에서 조회 및 수정할 수 있는 변수를 관리할 때 (이 내용은 뒤에서 다룬다!) import React, { useState, useRef } from 'react'; function InputSample() { const [inputs, setInputs] = useState({ name:..
# 이 여러 개라고 useState를 여러 개 사용하는건 좋은 방법이 아니다! → useState에서 객체 형태를 통해 여러 상태를 관리해주면 된다! import React, { useState } from 'react'; function InputSample() { const [inputs, setInputs] = useState({ name: '', nickname: '', }); const { name, nickname } = inputs; const onChange = (e) => { const { value, name } = e.target; setInputs({ ...inputs, [name]: value }); }; const onReset = () => { setInputs({ name: ..
# 시작하기에 앞서 값을 관리하기 위해서는 input의 onChange라는 이벤트를 활용해주어야 한다. 이벤트 객체 e를 파라미터로 받아와서 사용할 수 있는데, 이때 'e.target = 이벤트가 발생한 input DOM'을 가리키게된다. 이 input DOM의 value 값 = e.target.value는 현재 input 에 입력한 값인 것! import React, { useState } from 'react'; function InputSample() { const [text, setText] = useState(''); const onChange = (e) => { setText(e.target.value); } const onReset = () => { setText(''); }; return ..
# 참고로 리액트 16.8 이전 버전에서 함수형 컴포넌트에서는 상태를 관리할 수 없었는데, 리액트 16.8 에서 Hooks라는 기능이 도입되면서 함수형 컴포넌트에서도 상태를 관리할 수 있게 되었다. # useState도 이 Hooks 중 하나! # 리액트에서 엘리먼트에 이벤트를 설정해줄 때 onClick={onIncreate} 처럼 설정을 해주는데, 이때 함수형태를 넣어주어야 하지, 함수를 실행하면 안된다. onClick={onIncrease} (O) onClick={onIncrease()} (X) → 렌더링을 하는 과정에서 함수가 호출되어버리기 때문 # 컴포넌트에서 동적인 값을 '상태(state)'라고 한다. import React, { useState } from 'react'; fun..
아래 코드에서 isSpecial 값에 따라 컴포넌트의 좌측에 * 을 표시해보자! (true 값은 자바스크립트 값이기 때문에 { }로 감싸서 표현해주어야 한다.) import React from 'react'; import Hello from './Hello'; import Wrapper from './Wrapper'; function App() { return ( ) } export default App; 첫 번째 방법, 삼항연산자를 이용하기 // Hello.js import React from 'react'; function Hello({ color, name, isSpecial }) { return ( { isSpecial ? * : null } Hello {name} ); } Hello.defaul..
# props (properties) : 어떠한 값을 컴포넌트에게 전달해줘야 할 때! 사용 // App.js import React from 'react'; import Hello from './Hello'; function App() { return ( ); } export default App; // Hello.js import React from 'react'; function Hello(props) { return 안녕하세요 {props.name} } export default Hello; 이때 props는 객체이므로 위 코드에서 name을 조회할 때 props.name 으로 접근! # 그럼 props가 여러 개 일 때에는 일일이 받아야 할까? 아니다. 이럴 때에는 비구조화 할당(혹은 구조 분..
# JSX 는 리액트에서 생김새를 정의할 때 사용하는 문법. HTML처럼 생겼지만, 실제로 리액트 컴포넌트 파일에서 XML 형태로 코드를 작성하면 babel이 JSX → JavaScript로 변환을 해줌! Babel은 자바스크립트의 문법을 확장해주는 도구. 아직 지원되지 않는 최신 문법이나, 편의상 사용하거나 실험적인 자바스크립트 문법들을 정식 자바스크립트 형태로 변환해줌으로써 구형 브라우저의 환경에서도 제대로 실행될 수 있게 해주는 역할 ㄴURL : https://bit.ly/2wMpkk2 https://react.vlpt.us/basic/04-jsx.html # JSX 가 JavaScript로 제대로 변환이 되려면 꼭 지켜주어야 하는 몇 가지 규칙! 1. 태그는 반드시 닫아야 한다. HTML에서 in..
DDL (Data Definition Language) 데이터 정의 언어이다. 컴퓨터 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터의 데이터를 정의하는 컴퓨터 언어 또는 컴퓨터 언어 요소이다. CREATE : 새로운 데이터베이스 관계 (테이블), VIEW, 인덱스, 저장 프로시저를 만든다. DROP : 이미 존재하는 데이터베이스 관계 (테이블), VIEW, 인덱스, 저장 프로시저를 제거한다. ALTER : 이미 존재하는 데이터베이스 개체에 대한 변경, RENAME 의 역할을 한다. TRUNCATE : 관계 (테이블) 에서 데이터를 돌이킬 수 없는 제거이다. ddl-auto Spring Boot 는 ddl-auto 라는 이름으로 DDL 모드 (DB 초기화 전략) 를 정의한다. JPA 데이터베이스는 Embe..