FrontEnd/React

    Input - Date, DatePicker library 📅

    react에서 date를 처리하는 것은 여간 까다로운 작업이 아닐 수 없습니다. format을 다 처리해야 하기 때문이죠. react에서 input을 생성하고 type을 date를 줍니다. date input value의 date format은 YYYY-MM-DD입니다. const [date, setDate] = useState(new Date()); const getStringDate = (date) => { let year = date.getFullYear(); let month = date.getMonth() + 1; let day = date.getDate(); if (month < 10) { month = `0${month}`; } if (day < 10) { day = `0${day}`; } ..

    [ Optimize ] useCallback

    useMemo 에 이어서 useCallback 에 대해서 알아봅시다. 이번에도 Dingdong Ditch(띵똥 벨튀) component를 뜯어서 개조를 해볼것입니다. 전 포스팅에서도 말했지만 useMemo, useCallback 서로비슷합니다. useMemo 기반에서 추가된게 useCallback 이니까영 Memoization 이란? 주어진 입력값에 대한 결과를 저장함으로써 같은 입력값에 대해 함수가 한 번만 실행되는 것을 보장을 의미합니다. useMemo: memoization 된 값을 반환 합니다. useCallback: memoization 된 함수를 반환 합니다. useCallback의 간단한 예시를 들자면 1. useCallback(() => fn, [deps]); // deps의 데이터가 변하..

    [ Optimize ] useMemo

    useMemo useMemo에 대해 공부를 하였지만 어떤 예제를 들어야 할지 애매모호 해서 상당히 골치 아팠습니다. 그러다 어제 올린 React.memo 에서 띵똥 벨튀 예제를 가져와서 쓰면 괜찮을것 같아서 DindongDitch를 개조해 보았습니다. useMemo 를 공부하면 useCallback 은 필연으로 공부를 하게 됩니다. 두가지 비슷하지만 확연히 차이가 있습니다. Memoization 이란? 주어진 입력값에 대한 결과를 저장함으로써 같은 입력값에 대해 함수가 한 번만 실행되는 것을 보장을 의미합니다. useMemo: memoization 된 값을 반환 합니다. useCallback: memoization 된 함수를 반환 합니다. useMemo의 간단한 예시를 들자면 1. useMemo(() =..

    [ Optimize ] React.memo

    React 최적화를 하기 위해 useMemo, React.memo, useCallback 세가지를 보통 이용 합니다 (제가 아직 배운게 이것밖에 없어서) 그중에서 React.memo에 대해 공부하며 예제를 간단히 만들어보며 연구를 했는데 괜찮은 예제가 떠올라서 이렇게 공부한걸 올리는 겸 예제를 공유 해봅니다. React.memo를 배우기전에 Memoized에 대해서 알아야하는데 Memoized는 주어진 입력값에 대한 결과를 저장함으로써 같은 입력 값에 대해 함수가 한 번만 실행되는 것을 보장하는것을 의미합니다. ( 알고리즘 방식이기도 합니다. ) React.memo는 Component의 결과값을 Memoized를 합니다 한국에서 어릴때 유행했던 벨튀(DingDong Ditch) 를 바탕으로 Compone..

    [ RRD ] React - Router - Dom

    RRD ( React - Router - Dom ) 이란? 리액트 라우터는 화면 전환을 도와주는 역할 웹에서 a tag를 통해 다른 페이지로 이동한다면, React에서는 React-Router을 통해 Link 태그를 사용하여 화면을 전환합니다. 일반적으로 웹에서 a tag를 통해서 새로고침이 되며 이동하는걸 MPA (Multi Page Application)이라고 하고 React 같은 경우를 SPA(Single Page Application, CSR(Cliend Side Rendering)이라고 합니다. BrowserRouter 이란? Link Component를 to 속성에 이동할 경로를 작성 Route Component path 속성을 Link의 to 속성과 매핑 component의 컴포넌트 경로 기..

    React - useEffect

    React 하면서 가장 중요하다고도 할수있는 LifeCycle useEffect 에 대해 공부한대로 한번 글을 써볼 예정 입니다. React Component의 LifeCycle (생명 주기) 라고 하는것은 Mount ( 탄생 ) --> Update ( 변화 ) --> UnMount ( 죽음 ) 이라고 하는데요. Mount는 즉 Component가 생성 되었을때 최초 한번 실행이 되는것이며 Update는 Component가 리랜더링 될때마다 실행이 되는것이며 UnMount는 Component가 없어지거나 사라질때 실행이 되는것입니다. 각각 상황에 따라 useEffect를 사용할수있는데 보통 Mount 즉 Component 가 Mount가 될때 초기화를 보통 시킵니다. useEffect(() => { //..

    React - useRef DOM 제어

    리액트를 공부하다 보면 uesRef를 공부하게 될건데 useRef 는 JavaScript를 사용할때, 특정 DOM 을 컨트롤하기 위해 사용합니다, 주로 vanillaJS에서 document.querySelector, document.getElementById 와 같은것입니다. 간단한 예제를 보면서 확인을 해보도록 할게요. import { useState, useRef } from "react"; function App() { const [userID, setUserID] = useState(""); const [userPW, setUserPW] = useState(""); const handleChangeID = (e) => { setUserID(e.target.value); }; const handle..

    React & Node.js 연동하기

    이 포스트를 쓰기 전에 여러 블로그 포스트를 보고 왔습니다. https://velog.io/@autumndr3ams/210802-React-Node.jsexpress-연결하기 https://baegofda.tistory.com/210 https://baegofda.tistory.com/211 일단 Node.js 가 설치되어 있다는 가정하에 진행을 하겠습니다. 1. 일단 작업 할 폴더(testReact)를 만든 뒤 cmd 또는 파워쉘을 키고 npx create-react-app client 를 쳐줍니다. 다음과 같이 나왔다면 제대로 설치된 것 입니다. 2. 그럼 폴더에 client 폴더가 있을건데 전 testReact 라는 폴더에 만들었으니 testReact 라는 폴더안에서 커맨드 창을 열고 server을..

    React - Props

    보통 처음에 state를 배우고 나면 props 개념을 배우게 됩니다. props는 보통 상단 componet에서 하단 component에게 이름을 붙여 값을 전달하는 방식이며 여러 데이터를 넘길수 있습니다. Props를 사용하는 이유는 상단 컴포넌트에서 하단 컴포넌트에게 데이터를 이동시켜주기 위함입니다. App.js import React from "react"; import MyHeader from "./components/MyHeader"; import Counter from "./components/Counter"; function App() { return ( ); } export default App; Counter.js import React, { useState } from "react";..

    React - State

    전에 봤던 vanilla js 의 counter 프로그램을 React로 만든다고 한다면, App.js import React from "react"; import Counter from "./components/Counter" function App() { return ( ); } export default App; 기본적으로 Counter 이라는 Component 를 이용하여 count increment, decrease 를 하는 코드를 만들어 볼것입니다. Component.js import React, { useState } from "react"; const Counter = () => { const [count, setCount] = useState(0); const onIncrease = () ..