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

이번 시간에는 PUT을 이용해 체크박스의 체크여부와 DELETE를 구현할 것이다. 이 모든 수행은 Word.js에서 이루어진기 때문에 Word컴포넌트를 살펴보자. import { useState } from "react"; export default function Word(props) { //state를 사용해서 각버튼과 상태를 표현하기 위해서 단어 부분을 따로 컴포넌트로 때어낸다. const [word, setWord] = useState(props.word)//삭제 상태 const [isShow, setIsShow] = useState(false); const [isDone, setIsDone] = useState(word.isDone); //버튼이 클릭 되었을 때 구현 function toggle..

우선 내가 먼저 문제를 해결했던 방법은 아래와 같이 작성을 했다. 선택정렬은 선택된 값을 제외한 나머지 값들과 모두 비교하고 난다음에 변화가 되었을 때만 cnt변수에 값을 1씩 증가시키고 조건에 충족되는 값들을 print하는 방식으로 작성을 하게 된다. 하지만 여기서 함수를 사용했다. 그 이유는 함수 내부에 있는 for문은 local이다. 따라서 루프가 돌아가는 범위가 줄어들면서 속도도 global로 두었을 때 보다 미세하게 크기가 줄어드는 걸로 이해했다. import sys n, k = map(int, sys.stdin.readline().split()) N = list(map(int, sys.stdin.readline().split())) cnt = 0 def selection(N): global c..

우리가 전시간에 fetch를 내장한 useEffect를 이용했다. 이는 DayList컴포넌트와 Day컴포넌트에 모두 사용된다. 중첩되는 부분이고 이를 처리하기 위해서 우리들만의 Hook을 제작할 것이다. 아래 함수를 살펴보자. import { useState, useEffect } from "react"; export default function useFetch(url) { const [data, setData] = useState([]); useEffect(() => { fetch(url) .then(res => { return res.json(); }) .then(data => { setData(data); }); }, [url]); return data; } useFetch의 매개변수를 url로 ..

이전 시간에서는 우리가 json-server를 통해서 API를 가지고 왔다. 가지고온 이 API를 활용하기 위해서 기존에 import 했던 dummy data를 지우고 uesEffect를 사용해서 API로부터 데이터를 가지고 올 것이다. 우선 DayList.js 코드를 살펴보자. * DayList.js import { useState, useEffect } from "react"; import { Link } from "react-router-dom" export default function DayList() { const [days, setDays] = useState([]); useEffect(() => { fetch('http://localhost:3001/days') .then(res => { ..

이번 시간에는 버튼들을 조작하고 json-server를 활용해서 데이터를 조작하는 방법을 배워 볼 것이다. 우선 버튼 구현을 먼저 해보려고 한다. 들어가기 앞서서 우리가 만들어 놓은 버튼들을 상위, 하위 컴포넌트로 나누어야 한다. props와 useState를 사용하기 위해서다. 아래 코드는 변경된 Day.js파일 모습이며 다로 하위 컴포넌트를 생성한 Word.js파일을 함께 보자. * Day.js import dummy from "../db/data.json"; import { useParams } from "react-router-dom"; import Word from "./Word"; export default function Day() { // const { day } = useParams();..

*처음부터 이전 포스팅에서 컴포넌트를 외부와 내부 또는 상위와 하위라는 단어를 혼용해 사용했지만 이해를 위해 이제는 상위와 하위로 통일해 사용할 것이다. react router dom은 a태그와 같은 역할을 한다. url의 값을 변경할 있다는 것이다. 예전에는 switch를 import해서 Router를 동시에 사용했지만 현재는Routes로 변경되었다. 그리 어렵지는 않으니 찾아보면 쉽게 따라 할 수 있을 것이다. 먼저 App컴포넌트를 살펴보자. * ClassApp.js import Day from "./component/Day"; import DayList from "./component/DayList"; import Header from "./component/Header"; import EmptyP..

이전 포스팅에서 스스로에게 해봐야 할 것을 내가 적고 마쳤다. 오늘은 다음 수업에 들어가기 앞서서 내가 강의에서 할 실습을 미리 해보았다. 우선 day를 나열 했는데 이를 가지고 동적인 웹페이지를 만드는 것이였다. 우선 li태그안에 button태그를 삽입 해줘야 한다. 이후 해당 버튼을 눌렀을 때 클릭 반응이 있을 수 있게 해줘야한다. Day컴포넌트를 먼저 살펴보면 아래와 같다. * My_App.js import { useState } from "react" import Day from "./mycomponent/Day"; import DayList from "./mycomponent/DayList"; import Header from "./mycomponent/Header"; function Class..

우리는 컴포넌트 외부에서 내부로 값을 전달하는 정도만 배웠다. 하지만 내부에서 외부로 전달이 필요하다 느꼈다. 아래 코드를 살펴보자. *App.js import { useState } from 'react'; import './App.css'; import Calculate from "./section/training/Calculate" function App() { const [result, setResult] = useState() const handleShow = (show) => { console.log("show", show); setResult(show) } return ( {result} ); } export default App; 오로지 app컴포넌트에서 calculate 컴포넌트만을 사용..