공부 107

클론코딩 주차 WIL

1. 협업을 진행하며 느낀 아쉬운 점, 뿌듯한 점 ❗️ 아쉬운 점 1주일동안 오늘의 집을 클론코딩을 진행을 하였습니다. 저는 여기서 로그인, 회원가입파트를 담당하였는데 카카오톡 로그인을 처음 다뤄보면서 정확한 지식이 하나도 없다는 것을 깨닫고 제대로 이해하지 못한 상태에서 기능구현만 하려고 하니 많이 어려웠던거 같습니다. 또, 지난번에 처음으로 api 붙이는 작업을 하였을때 기본적으로 붙이는 과정만 진행하고 쿠키나 토큰같은 것은 다뤄보지 않았던게 이번 로그인, 회원가입 기능 구현을 할때 많이 힘들게 되었던거 같습니다. 헤더나 바디로 토큰을 전달해주는데 이것에 대해서 한번도 제대로 다뤄보지 않고 진행하니깐 많이 막막해서 같은 파트를 담당했던 백엔드분에게 많이 죄송한 마음이 들었던거 같습니다. ❗️ 뿌듯한 ..

공부/WIL 2023.07.31

Axios란?

1. Axios ⅰ. Axios Axios는 JavaScript에서 HTTP통신을 위한 라이브러리 Promise기반으로 작동하여 비동기 처리를 쉽게 할 수 있음 Axios를 사용하면 서버로 HTTP 요청을 보내고 응답을 받는 것이 간단해짐 ⅱ. Axios의 장점 Promise 기반 Axios는 Promise를 반환함. 이를 통해 비동기적인 동작을 쉽게처리할 수 있음 요청과 응답을 반환 사용자가 요청을 보내기 전이나 응답을 받은 후에 데이터를 변환할 수 있음 HTTP 요청 취소 가능 Axios는 HTTP 요청을 취소하는 기능을 제공함 HTTP 요청 재시도 네트워크 이슈나 서버의 일시적인 문제로 요청이 실패한 경우 자동으로 재시도하는 기능을 제공함 ⅲ. Axios설치 및 기본 사용 예제 Axios 설치 방법..

공부/WIL 2023.07.17

리액트 숙련주차 - 5

1. 리덕스 설정 ⅰ. 리덕스 설치 리액트에서 리덕스를 사용하기 위해서는 2개의 패키지를 설채해야함 yarn add redux react-redux 폴더 구조 생성하기 ① src 폴더 안에 redux 폴더를 생성 ② redux 폴더 안에 config, modules 폴더를 생성 ③ config 폴더 안에 configStore.js 파일을 생성함 ❓폴더와파일의 역활 - redux: 리덕스와 관련된 코드를 모두 모아 놓은 폴더 - config: 리덕스 설정과 관련된 파일들을 놓은 폴더 - configStore: "중앙 state 관리소"인 Store를 만드는 설정 코드들이 있는 파일 - modules: State들의 그룹, ex) ToDoList에 필요한 state들이 모여있는 todosljs 파일이 곧 하..

공부/React 2023.07.11

리액트 숙련주차 - 4

1. LifeCycle ⅰ. 생명주기(LifeCycle) 소개 리액트 생명주기란? 리액트 컴포넌트는 각각 [Mount] -> [Update] -> [Unmount]의 과정을 거침 리액트 생명주기(라이프사이클)란, 컴포넌트 중심 라이브러리의 집합체라고 보면 됨 모든 컴포넌트에는 각각의 생명주기가 존재하고 각 생명주기에 맞는 메서드들이 있음 생명주기 생성될때(mount) 업데이트 할때(update) 업데이트를 할 때는 리렌더링을 같이 고민해야함 제거될때(un-mount) ⅱ. Mount 개요 컴포넌트가 생성될 때를 말함 constructor() getDerivedStateFromProps(nextProps, prevState) render() componentDidMount() 각 메서드 소개 constru..

공부/React 2023.07.10

라이프사이클(클래스형 vs 함수형), react hooks

1. 라이프 사이클(클래스형 vs 함수형) 리액트는 자바스크립트를 기반으로 한 사용자 인터페이스(UI) 개발을 위한 인기있는 라이브러리 리액트 컴포넌트는 라이프 사이클이라고 불리는 여러 단계를 거쳐 생성되고 업데이트되며 소멸됨 리액트의 라이프 사이클은 클래스형 컴포넌트와 함수형 컴포넌트에서 약간 다르게 작동함 ⅰ. 클래스형 컴포넌트 라이프 사이클 - 클래스형 컴포넌트의 라이프 사이클은 다음과 같은 단계로 이루어짐 ① constructor - 컴포넌트가 생성될 때 처음으로 호출되는 메서드. 초기 상태값을 설정하거나 메서드를 바인딩하는 등의 작업을 수행함 ② componentDidlMount - 컴포넌트가 렌더링되기 전에 호출됨. 이 단계에서는 주로 API 호출이나 초기 데이터 로딩과 같은 작업을 수행함.D..

공부/WIL 2023.07.10

JavaScript - map과 filter 차이

📌 자바스크립트 map() / filter 함수 - 두 기능의 가장 큰 차이는 각 함수의 리턴하는 기능이 다르다는 것!! 📚 map() - callback 함수를 각각의 요소에 대해 한번씩 순서대로 불러 그 함수의 리턴값으로 새로운 배열을 생성함 array.map(callback(currentValue[, indx[, array]])[, thisArg]) callback: 새로운 배열 요소를 생성하는 함수. 다음 세가지 인수를 가짐 ⅰ. currentValue: 처리할 현재 요소 ii. index(Optional): 처리할 현재 요소의 인덱스 iii. array(Optional): map()를 호출한 배열 iv. thisArg(Optional): callback을 실행할 때 this로 사용할 값 📚 fi..

공부/JavaScript 2023.07.08

onClick 이벤트 핸들러 2개 오류(setTimeout)

❓ 오류 발생 상황과 이유 const { color, reverseColor, size, comment, icon } = props const [isClicked, setIsClicked] = useState(false); const onReverseColor = () => { setIsClicked(true); setTimeout(() => { setIsClicked(false); }, 250); }; const onOpenAlert = () => { if (comment === "Large Primary Button") { window.alert("버튼을 만들어보세요"); } if (comment === "Large Negative Button") { window.prompt("어렵나요?"); } }..

공부/Error 2023.07.07

리액트 숙련주차 - 3

1. useContext(Context API) ⅰ. useContext란? react context 의 필요성 부모컴포넌트 -> 자식 컴포넌트로 데이터를 전달해 줄 때 props를 사용함 부모 -> 자식 -> 그 자식 -> 그자식의 자식 이렇게 너무 깊어지게 되면 prop drilling현상이 일어나게됨 porps drilling의 문제점은 깊이가 너무 깊어지면 이 prop가 어떤 컴포넌트로부터 왔는지 파악이 어려워짐 어떤 컴포넌트에서 오류가 발생할 경우 추적이 힘들어져 대처가 늦어짐 그래서 등장한것이 react context API => useContext hook을 통해 쉽게 전역 데이터를 관리할 수 있게 됨 ⅱ. context API 필수 개념 createContext: context 생성 Con..

공부/React 2023.07.05

mac yarn 다운로드 오류 - errno: -13

❓ 오류 발생 상황과 이유 npm install -g yarn을 하였는데 아래와 같은 오류 코드가 발생함 열심히 검색해서 이것저것 해보았지만 계속적으로 동일한 오류가 발생함 ....이정도면 yarn이랑 안맞는듯... yarn때문에 노트북도 바꾼건데...이번에도 yarn 설치 과정에서 오류가 발생했다ㅜㅜㅜㅜㅜ ⭐해결방법 일단 노드의 버전으로 확인해서 node.js의 버전에 16.10보다 크면 아래의 코드를 입력 node -v corepack enable 위에 코드를 입력했지만 아래와 같은 오류가 발생함 관리자 권한으로 위에 코드를 다시 입력!! sudo corepack enable

공부/Error 2023.07.03

state, props, 리액트 리렌더링

1. state VS props props(“properties”의 줄임말) 와 state는 일반 JavaScript 객체입니다. 두 객체 모두 렌더링 결과물에 영향을 주는 정보를 갖고 있는데, 한 가지 중요한 방식에서 차이가 있습니다. props는 (함수 매개변수처럼) 컴포넌트에 전달되는 반면 state는 (함수 내에 선언된 변수처럼) 컴포넌트 안에서 관리됩니다. ⅰ. state 와 props의 공통점 모두 일반 JS 객체 모두 렌더링 업데이트를 트리거함 ❓트리거(trigger)란? 데이터베이스가 미리 정해놓은 조건을 만족하거나 어떤 동작이 수행되면 자동적으로 수행되는 동작 ⅱ. state(상태) 가변 데이터 구성 요소에 의해 유지 변경 가능 ⅲ. props 불변의 데이터 부모컴포멈트로부터 전달됨 변경..

공부/WIL 2023.07.03