일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- setTimeout()
- webpack
- object
- async
- 비동기
- Project
- eport
- database
- sql
- promise
- ajax
- 혼프
- callback
- await
- JS #프로젝트
- execCommand
- addEventListener
- 동기
- Import
- https://youtube.com/playlist?list=PLuHgQVnccGMA5836CvWfieEQy0T0ov6Jh&si=FTaYv8m21EhO-A2K
- js
- db
- 게임
- prj
- Porject
- https://m.blog.naver.com/tt2t2am1118/221010125300
- json
- slow and steady
- 참고블로그
- mysql
- Today
- Total
목록분류 전체보기 (313)
C-log

이번 시간에는 propsTypes에 관해서 포스팅을 해볼 것이다. propTypes은 React에서 컴포넌트의 props에 대한 유형을 검사하고 정의하는 데 사용되는 기능이다. 이는 코드의 안정성을 높이고 잘못된 사용 또는 전달된 데이터에 대한 오류를 미리 방지하는데 도움이 된다. 이는 TypeScript와 비슷한 역할을 하는 것이지만 아직 propsTypes에 익숙하지 않아서 조금은 잘 모르겠다. 우선 현재 우리 CDN을 이용해서 코드를 작성하기에 porpsTypes를 사용하려면 CDN을 추가해야한다. 아래 코들르 추가하면 된다. 이를 추가하고 아래 코드를 작성하면 된다. function Btn({ text, fontSize = 30 }) { console.log(text, "was Rendered")..

이번 포스팅에서는 재활용 했던 컴포넌트의 render를 고려해서 코드를 작성해 볼 것이다. 지난 포스팅에서 몇 번이나 말 했듯이 React는 렌더링으로 초기 로딩 속도가 지연되기에 컴포넌트를 잘 분리해야한다 했다. 이를 개선하기 위해서는 memo라는 Hook을 사용하는데 이를 사용하지 않았을 때의 코드와 결과를 살펴보면 아래와 같다. DOCTYPE html> ... function Btn({ text, onClick }) { console.log(text, "was Rendered") return ( {text} ); } function App() { const [value, setValue] = React.useState("Save Changes"); const changeValue = () => se..

이번 포스팅에서는 props에 관해서 포스팅할 것이다. 이제 우리는 React의 간단한 동작원리와 state의 역할이 무엇인지 잘 알것이다. 이제는 컴포넌트를 나누어서 각 컴포넌트들에게 값을 다르게 전달 해주는 역할을 하는 props를 활용 해야 할 때이다. 얼핏 보기에는 일반적인 함수와 같아 보이겠지만 쓰임세와 활용도들은 조금씩 다르다. 우선 일반 함수와 컴포넌트는 재활용을 하기 아주 적합하다는 것이다. 하지만 일반 함수는 코드 내에서만 그러하다 컴포넌트는 UI와 깊게 연결이 되어 있다. 특히 css를 반복적으로 사용하기 위해서 이전에는 Html에 의존 해야 했지만 컴포넌트에 의존하게 되면서 개별적인 css를 다루게 되는 것이다. 아래 코드는 간단한 컴포넌트를 props와 활용한 코드이다. DOCTYP..

이전 시간에 우리는 useState가 동작되는 원리와 useState를 통해서 React DOM이 어떻게 동작하는지 알 수 있었다. 잠시 복기를 해본 다면 UI에서 변동 상항이 있으면 ReactDOM의 render를 통해서 변화된 UI를 변동 시켜야한다. 하지만 useState를 사용하지 않고 ReactDOM에 있는 render함수를 사용해서 변화가 필요한 함수나 부분에 매번 re-render를 하기엔 너무 불편하고 효율적이 못하다 그래서 상태가 변화 되었다는 것을 감지하고 이를 ReactDOM에 인지를 시켜주는 useState Hook을 사용해서 특정 상태가 변화 되었을 때 해당 컴포넌트가 re-render가 될 수 있는 것이다. 다시 말하지만 useState는 상태를 관리하는 Hook일 뿐 rende..

앞 시간에 우리는 React가 동작하는 원리를 React CDN을 사용해서 js로 풀어 나열 해보았다. js의 기본기가 있고 DOM에 대한 이해가 있다면 충분히 이해할 수 있는 포스팅이라고 본다. 이번 시간에는 useState의 동작원리를 살펴 볼 것이다. useState의 동작원리를 살펴보기 전에 우리가 알아야할 개념이 있다. 바로 React의 업데이트 메커니즘이다. 업데이트 메커니즘은 Virtual DOM을 활용해서 효율 적으로 UI를 업데이트 하는 방식이다. React는 상태 업데이트를 한번에 모아서(최적화를 위해서) 작업을 수행한다. 즉, 각기 useState 상태가 업데이트가 될 때마다 순차적으로 업데이트가 되는 방식이 아니라 모든 준비부터 완료가 될때까지 한번에 처리 하는 것이다. 여기서 다음..

프로젝트 수업에 들어가기 앞서 리액트의 jsx문법을 사용하지 않고 unpkg 사이트의 React npm에 등록된 CDN과 순수 js만을 이용해서 span 이 어떻게 생성되고 render되는지 한번 살펴보겠다. DOCTYPE html> Document const root = document.getElementById("root") const span = React.createElement( "span", { id: "my span", style: { color: "tomato", fontSize: "30px" } }, "Im New!" ); ReactDOM.render(span, root) 우선 HTML에서 div를 생성함과 동시에 div의 id 프로퍼티를 제공해야한다. 해당 id가 제공되면 getElem..

이번 시간에는 Header부분에 있는 단어 추가하기와 Day추가하기를 구현해 볼 것이다. 포스팅에 앞서 이전 시간에 우리는 fetch를 활용해서 계속해서 개발을 해왔다. 그만큼 API의 중요성을 느꼈을 것이며 이에 다른 custom Hook을 만들었다는 것을 잊지 말아야한다. 더 나아가 Js와 React의 차이가 무엇인지 생각해보면 좋을 듯하다. 이번에 생성할 컴포넌트들을 Route해야하기 때문에 App.js에서 Route를 설정해주자. ClassApp.js import Day from "./component/Day"; import DayList from "./component/DayList"; import Header from "./component/Header"; import EmptyPage fro..