전체 글

프론트엔드 지식을 다 먹어버리겠다는 의지
이전에 리액트 리덕스는 어떻게 활용할 수 있는지 알아보았습니다. 그런데 매번 액션 생성 함수를 만들어주어야할까요? 넘나 귀찮지 않습니까?.. 그리고 리듀서 함수에서 switch문을 통해 여러번 적는 행위도 너무 귀찮아 보입니다. 매번 return 마다 구조분해 문법을 사용하여 state를 가져왔지만, 만약에 state구조가 복잡하다면 이 또한 관리하기 힘들어지게 됩니다. 이것을 해결할 방법! 에 대해서 이번에는 공부해보겠습니다. ● 리덕스 더 편하게 사용하기 npm i redux-actions 먼저 위의 라이브러리를 설치해줍니다. 다음 우리가 만들어주었던 counter.js 모듈로 돌아와 createAction 을 redux-action으로부터 불러와줍니다. counter.js import { creat..
● UI 준비하기 프레젠테이셔널 컴포넌트 : props를 받아와서 화면에 UI를 보여주기만 하는 컴포넌트를 말한다. 컨테이너 컴포넌트 : 리덕스와 연동되어있는 컴포넌트로, 리덕스로부터 상태를 받아 오기도하고 리덕스 스토어에 액션을 디스패치하기도 하는 컴포넌트를 말한다. 먼저 컴포넌트를 만들기 전에 redux와 react-redux를 설치합니다. npm i redux npm i react-redux 다음 카운터 컴포넌트와, 할일 컴포넌트를 만들어보겠습니다. src 폴더 > components 생성 후 > Counter.js Counter.js const Counter = ({ number, onIncrease, onDecrease}) => { return ( {number} +1 -1 ) } 먼저 카운터..
문제 설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 입출력 예 nums return [1,2,3,4] 1 [1,2,7,6,4] 4 입출력 예 설명 [1,2,4]를 이용해서 7을 만들 수 있습니다. 입출력 예 #2 [1,2,4]를 이용해서 7을 만들 수 있습니다. [1,4,6]을 이용해서 11을 만..
문제 두 개의 배열(base, sample)을 입력받아 sample이 base의 부분집합인지 여부를 리턴해야 합니다. 주의사항 base, sample 내에 중복되는 요소는 없다고 가정합니다. 입출력예시 let base = [1, 2, 3, 4, 5]; let sample = [1, 3]; let output = isSubsetOf(base, sample); console.log(output); // --> true sample = [6, 7]; output = isSubsetOf(base, sample); console.log(output); // --> false base = [10, 99, 123, 7]; sample = [11, 100, 99, 123]; output = isSubsetOf(base..
문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..
릴레이 블로깅을 달성하기 위해 오늘은 이전에 공부 햇던 프로미스를 한무 즐기기로 햇씁니다.. 예전에 프로미스를 공부하다가 갑자기 실전에 마주하니까 머리가 하얘지는 경험을 했기 때문에, 오늘은 그 경험을 하지 않기 위해 프로미스를 다시 복습해봅니다. ● 프로미스 왜써야할까? 저는 어떤 것을 학습하기 이전에, 왜 필요하지에 대해 탐구하면 궁극적인 목적을 찾을 수 있어서 매번 '왜'에 대해 탐구하는 것은 습관을 들이면 좋은 것 같습니다. 미래에 어떤 값을 '꼭' 반환하겠다고 약속하는 비동기 함수 예를 들어, 만약 프로미스가 없이 비동기 함수로 값을 설정하고, 그 값을 가져오고 싶다면 어떻게 해야할까요? let a = 1; setTimeout(()=>{ a = 2; }, 2000); console.log(a) ..
김코린이
김코린이의 성장일기