콘텐츠를 웹 페이지나 온라인 애플리케이션에
직접 작성할 수 있게 하는 위지위그 리치 텍스트 에디터
이다. (WYSIWYG - What You See Is What You Get, “보는 대로 얻는다”)
웹사이트에 게시판 기능 혹은 글쓰기 기능을 만들 때, 그냥<textarea>
를 사용하게 되면 기능도 부실하고 보기에도 허전해 보이므로 그럴 때 사용하면 유용한텍스트 에디터
라고 생각하면 됨.
react-datepicker는 리액트에서 달력을 매우 간단하고 재사용이 쉽게 가능하게 만들 수 있게 한 라이브러리임.
예를 들어 글을 검색할 때 기간을 설정해서 검색하는 것 처럼 캘린더에서 날짜를 선택할 때 이 라이브러리를 사용하면 캘린더를 직접 구현하지 않고 편리하게 사용할 수 있음.
pagenation(페이지네이션)은 여러 개의 게시물을 보여주어야 하는 웹사이트 하단에서 자주 볼 수 있음.
즉, 게시글이 여러개 일 때 1페이지, 2페이지를 선택하는 것처럼 말 그대로 "페이지"를 나누는 것을 뜻함.
react-daum-postcode
다음의 우편번호 검색 서비스를 이용할 수 있다.
주문서 작성 혹은 배송지 입력 등 우편번호를 입력받아야 하는 상황에서 사용할 수 있다.
말 그대로 액션들이 있는 곳.
api를 가지고 관련된 리스트를 불러오거나, CRUD 같은 GET, POST 메서드들이 있다.
- config.js - 프로젝트에 사용되는 api들이 등록되는 곳
- index.js - path(경로) 받아오고, ................
로그인 처리를 위한 access...
- DeliveryTracker - 배송 추적 (?)
- UploadManager (UploadImage.js) - 이미지 파일 업로드.
- Utils
- base.64
- converter는 0의 개수에 따라 만, 억 등의 단위로 변환해준다던지, m2단위를 평단위로 변환해주는 등의 converter 역할. 파일을 다운하고, pdf/csv/jpg 등의 타입도 생성해준다.(?)
- date는 년, 월, 일, 시간 등의 형식들을 모아놓은 곳.
- index.js
- objectCheck는 해당 항목의 선택 여부 (?)
- parseNumber는 0 세개 단위로 , 찍는것. (ex. 1,000,000)
- parseUrlParameter 는 url을 구분해서 ... (?)
- Utils > Spinner
- 로딩 중임을 알려주는 컴포넌트.
- 따라서 Spinner 폴더 안의 각 파일들은, 파일 이름을 참고해본다면 grid loader의 경우는 큐브같이 9개의 점들이 로딩중임을 알려주고, beat loader의 경우에는 점 세개가 나란히 있는 모양으로 로딩중임을 알려주는 .. 그런 아이들.
reducer인건 알겠는데...
각 파일이 어떤 걸 의미하는지 모르겠음 ㅠㅠ
- jwtRefreshToken - 이전에는 세션 방식을 이용해서 로그인 기능을 구현했지만, 최근엔 JWT라는 토큰 기반의 인증 방식이 나오면서 웹과 모바일에서 대부분의 인증이 JWT(Json Wet Token)로 구현되고 있음. 접근에 필요한 accessToken 이 만료 되었을 때 갱신하기 위하여 필요한 파일.
- StorageService - ???
- middleware - 기존의 리덕스는 액션이 발생하게 되면, 디스패치를 통해 스토어에게 상태 변화의 필요성을 알리게 됨. 하지만, 디스패치된 액션을 스토어로 전달하기 전에 처리하고 싶은 작업이 있을 수 있겠지. 가령, 단순히 어떤 액션이 발생했는지 로그를 남길 수도 있겠고, 액션을 취소해버리거나, 또 다른 액션을 발생시킬 수도 있음.
또, 우리가 알고있는 리덕스의 일반적인 과정과는 다르게 시간을 딜레이시켜 동작하게 한다던지, 외부 데이터를 요청하여 그에 따른 응답을 화면에 보여주어야 한다면 어떻게 처리해주어야 할까? 리덕스에서는 이러한 비동기 작업을 처리하기 위한 지침을 알려주지 않고 있기 때문에 이러한 비동기 작업을 처리하는 데 있어 리덕스 미들웨어를 주로 사용함.
- middlewareApi (?)
- middlewareToken (?)
액션의 타입을 정의하는 곳...(?)
프로젝트 내에서 사용되는 테이블의 컬럼명 혹은 (사이드)메뉴 명 혹은 공통 함수 등을 정의하는 곳.
combineReducer를 이용해서 여러개의 reducer를 하나로 합쳐줌.
(만약 모듈이 엄청나게 많다면, 굉장히 편리해짐.)