리액트
-
[인사정보] input,유효성 확인, dropDown, 하단창React/과제 테스트 2023. 8. 9. 21:26
🐇 input - map으로 반복 및 에러 창 이름, 이메일, 닉네임을 각각 input 태그로 입력받고 나열하여 보여준다. 이름, 이메일, 닉네임에 대해서는 유효성 확인이 필요합니다. 1. 배열 나열 - key {["name", "email", "nickname"].map((v) => ( changeValue(event, v as keyof typeof typeToKorean) } type={v as keyof typeof typeToKorean} /> ))} 2. 입력값이 잘못 되었을 경우 input 아래 유효성 확인한다. 🥕 유효성 검사 ※ 객체 키값 타입 - keyof typeof {} typeof : 객체 데이터를 객체 타입으로 변환해주는 연산자 type Fruit = { red: string; ..
-
[인사정보] React url 절대 경로, url 전환, 카드 뒤집기, 로컬스토리지, 스크롤 동작React/과제 테스트 2023. 8. 9. 19:29
과제 테스트 준비 애니메이션과 로컬스토리지, 무한 스크롤 기능을 작성해봤다. 🐇 url 절대경로 모든 경로 앞에 /web/을 절대경로로 붙여주어야 합니다 1. import Router import { BrowserRouter as Router, Route, Routes } from "react-router-dom"; 2. App.tsx 파일 수정 // 모든 페이지에 보임 🐇 url 전환 header의 menu를 누르면 url 바뀌어야 한다. 1. header 작성 2. react-router-dom 설치 3. Link to로 전환 // import styles from "./style/app.module.css" import styles from "../style/app.module.css"; impor..
-
[Input 이벤트] input readonly, 백스페이스 기능React/과제 테스트 2023. 8. 8. 19:05
과제 테스트 준비 input 태그와 관련되어서 좀 더 심도있게 준비를 하게 되었다. 🐇 readonly 유저가 input에 직접 값을 입력할 수 없다. readonly를 사용하면 된다. readonly를 사용하지 않을 때는 onChange 함수를 기입해야 한다. 🐇 backspace 백스페이스 기능 입력된 값을 백스페이스로 지울 수 있다 1. input의 onKeyDown 메소드를 이용 handleKeyDown(event, 'password')} /> 이때, 매개변수가 1개라면 event를 생략할 수 있다. ex) onKeyDown={handleKeyDown} 2. backspace 확인 및 기능 동작하는 함수 작성 const handleKeyDown = (event: React.KeyboardEvent..
-
[고양이 사진 검색 사이트] - 이미지 상세 보기 모달 : 모달, keypress, fade in/outReact/과제 테스트 2023. 8. 7. 13:41
프로그래머스 과제 테스트 준비 프로그래머스는 html,css, javaScript이기 때문에 실질적으로 도움이 될 만한 React로 준비했다. 테스팅에 목적이 아닌 학습을 위한 구현자료로써, 디자인은 하지 않았고 기능에 초점을 두었다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐇이미지 상세보기 모달 🥕 max-size가 768px 이하인경우 모달의 가로길이를 디바이스 가로길이만큼 늘림 1. modal 창 구현 e.stopPropagation()} isOpen={isOpen}> {isLoading ? ( 로딩중 ) : ( x {catDetail && ..
-
[고양이 사진 검색 사이트] HTML, CSS - 시맨틱, media query, 다크모드(dark mode)React/과제 테스트 2023. 8. 7. 12:22
프로그래머스 과제 테스트 준비 프로그래머스는 html,css, javaScript이기 때문에 실질적으로 도움이 될 만한 React로 준비했다. 테스팅에 목적이 아닌 학습을 위한 구현자료로써, 디자인은 하지 않았고 기능에 초점을 두었다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐇 HTML, CSS 🥕시맨틱 마크업 적용 코드가 전체적으로 div로만 이루어져 있습니다. 시멘틱한 방법으로 마크업을 변경하세요. 시맨틱한 코드 시맨틱(symantic)한 코드란 무엇인가? 시맨틱은 '의미의'라는 뜻을 가지고 있는 단어다. 코드에 적용하게 되면 말 그대로 Div..
-
[redux] 리덕스 라이브러리 - 스토어 간편하게 사용하기React/redux 2023. 3. 17. 15:15
리덕스 라이브러리란? 1. 상태를 체계적으로 관리할 수 있다. >> 프로젝트 규모가 클 때 적합하다. 2. 개발자 도구 지원해준다. 3. 미들웨어를 지원해준다. >> 비동기 작업이 용이하다. react-redux 사용하기 방법 1. 임시함수를 생성한다. import React from 'react'; import Counter from '../components/Counter'; import { connect } from 'react-redux'; import { increase, decrease } from '../modules/counter'; const CounterContainer = ({number,increase,decrease}) => { return ( ); }; const mapState..
-
[React] immer를 사용해서 불변성 유지하기React/기초 2023. 3. 16. 08:17
immer 구조가 복잡한 객체도 매우 쉽고 짧은 코드를 사용하여 불변성을 유지하면서 업데이트해 줄 수 있다. immer 사용하지 않고 불변성 유지하기 import React,{useRef,useCallback,useState} from 'react'; const App = () => { const nextId = useRef(1); const [form,setForm] = useState({name: '',userName: ''}) const [data,setData] = useState({array:[], uselessValue:null}) const onChange = useCallback( e => { const {name,value} = e.target; setForm({ ...form, [nam..
-
[React TodoList] 리액트 투드리스트 마무리 - 깃허브, 파일 정리React/일정관리 프로젝트 2023. 3. 15. 12:01
프로젝트 마무리 파일 정리 1. 컴포넌트 폴더 생성 컴포넌트는 Component 폴더로, Scss는 Scss 폴더로 이동하기 2. App.js 수정 - bulk 데이터 수정 - useReducer => useState로 수정 import React , {useCallback, useRef, useState} from "react"; import TodoTemplate from "./Component/TodoTemplate"; import TodoInsert from "./Component/TodoInsert"; import TodoList from "./Component/TodoList"; const App = () => { const [todos,setTodos] = useState([ { id :1,..