Today I Learned 현재 시간에 따라 서점 영업 중/영업 종료 표시하기 현재 시간에 따라 영업중/영업종료 표시하기 // 현재 시간, 요일 가져오기 export const getCurrentTime = () => { const date = new Date(); const hours = ('0' + date.getHours()).slice(-2); const minutes = ('0' + date.getMinutes()).slice(-2); const currentTime = parseInt(hours + minutes); // 1500(오후 3시) const day = date.getDay(); // 4(목요일) return { currentTime, day } }; // 현재 시간, 현재 요일 ..
Today I Learned Recoil 공부하기 리스트 클릭 시 지도에서 해당 위치로 이동하도록 구현하기 Recoil 공부하기 const todoListState = atom({ key: 'todoListState', // unique ID default: [], // initial value }); const [todoList, setTodoList] = useRecoilState(todoListState); 코드 몇 줄로 전역 상태 관리 끝... 공식 문서 https://recoiljs.org/ko/docs/introduction/getting-started/ https://recoiljs.org/ko/docs/basic-tutorial/atoms https://recoiljs.org/ko/docs..
Today I Learned GOLLA 프로젝트 게이지바 구현 Typescript 강의 수강 Programmers 문제 풀기 A, B 선택지 투표 결과에 따른 % 나타내기 const GageBar = ({comments}: any) => { let countA = 0; let countB = 0; comments.forEach((comment: CommentItem) => { comment.isA === true ? countA += 1 : countB += 1 }); let ratioA = Math.round(100 - (countB / (countA + countB)) * 100); let ratioB = Math.round(100 - (countA / (countA + countB)) * 100);..
Today I Learned Typescript, Firebase, React Query로 댓글 CRUD 구현 radio input 선택 값에 boolean 넣기 일단 A, B 중에 어떤 input을 선택했는지 값을 가져오기 위해서는 e.target.value를 사용하면 된다. 그리고 input에 value는 string만 넣을 수 있는 거 같은데 나는 radio 선택에 따라 boolean 값을 출력하고 싶었다. // A, B 선택에 따라 boolean 출력 const selectAB = (e: any) => { if ( e.target.value === "true" ) { setIsA(true); } else { setIsA(false); } }; 그래서 if문으로 setState에 boolean 값을..
Today I Learned GOLLA 팀 프로젝트 회의 카카오 API로 마커 클릭 이벤트 구현하기 Typescript 에러 'React' refers to a UMD global, but the current file is a module. Consider adding an import instead. 처음부터 타입스크립트로 프로젝트를 생성한 게 아니라 CRA로 프로젝트를 생성한 다음에 typescript를 따로 설치했더니 다음과 같은 에러가 떴다. 이때 해결 방법은 에러가 발생하는 컴포넌트에 import React from 'react' 해주기! typescript .d.ts 파일이란? .d.ts 파일 (선언 코드만 담긴 파일) 구현부가 아닌 선언부만을 작성하는 용도의 파일을 의미한다. JS 코드로 ..
Today I Learned 팀 프로젝트 진행-카카오 지도 API 이용하기 React javascript로 카카오 지도 API 이용하기 공식 문서나 대부분의 검색 결과에서 제공하는 카카오 지도 API 이용하는 방법은 HTML 코드인데 나는 javascript 파일로 코드를 작성하고 싶었기 때문에 방법을 찾는데 시간이 좀 걸렸다. 검색할 때 '리액트'라는 키워드를 붙이고 난 이후에 javascript 관련 검색 결과를 많이 볼 수 있었다. 카카오 지도 API로 지도 생성하기 일단 index.html의 부분에 API를 불러오기 위한 코드를 한 줄 추가한다. 공식 문서 https://apis.map.kakao.com/web/guide/ declare global { interface Window { kakao..
Today I Learned 프로젝트 S.A 구성 프로젝트 소개 팀명: React B반 9조 (뀨조) 팀원: 이희령, 성효진, 김민성, 황준호, 박진산 프로젝트명: 쟈-스민 프로젝트 컨셉: 독립서점의 정보를 지도 API를 통해 보여주는 사이트 API 전국 독립서점 및 운영정보: csv→json 변환 문화 빅데이터 플랫폼 Kakao 지도 Javscript API Kakao 지도 Web API 기술 스택 React Query Recoil Firebase Typescript Styled-components 와이어 프레임 서점 찾기 페이지 개발 기능 프로젝트 관련 규칙 노션 링크 참고 https://react99.notion.site/S-A-29663dec6f6d44b7a7b18637551b9be9 회고 또 새..
Today I Learned Typescript 공부하기 Programmers 문제 풀기 React의 Component Lifecycle(생명주기) useEffect(()=>{ // componentDidMount (처음 컴포넌트 렌더링된 이후 실행) return () => { // componentWillUnmount (컴포넌트가 사라지기 직전에 실행) } }, []) useEffect(()=>{ // componentDidMount (처음 컴포넌트 렌더링된 이후 실행) // componentDidUpdate (변경된 state로 컴포넌트 렌더링된 이후 실행) }, [state]) useEffect 의미 : render (return jsx) 이후 side effect 실행 state 변경을 batch..
Today I Learned Typescript로 React TO-DO-LIST 리팩토링하기 Recoil 공부 공식 문서 https://recoiljs.org/ko/docs/introduction/getting-started/ 참고 영상 https://www.youtube.com/watch?v=t934FOlOMoM typescript로 react project 만들기 index.tsx 에러 const root = ReactDOM.createRoot( document.getElementById('root') as HTMLElement ); as HTMLElement라고 타입을 지정해줘야 한다. typescript에서 styled-components 사용하기 npm i --save-dev @types/sty..
Today I Learnend Typescript 기초 강의 수강 Type Alias (사용자 정의 타입) // type.ts type Hero = { name: string; power: number; height: number; }; import type { Hero } from './type'; const hero1: Hero = { name: '슈퍼맨', power: 1000, height: 190, }; // 동일함 const printHero = (hero: { name: string; power: number; height: number }) => { const printHero = (hero: Hero) => { console.log(hero.name, hero.power); }; cons..