Etc/WEB
-
프로젝트 환경분석3(ApolloServer, ApolloClient)Etc/WEB 2021. 7. 20. 19:17
server/graphql/aplloServer.ts 이 모듈은 ApolloServer 객체를 생성을 하는데, 인자로 schema, context, dataSources, plugins를 전달한다. schema 스키마는 데이터 타입의 집합으로, 일종의 API 문서의 역할도 한다. 어떠한 데이터 객체를 반환할지, 특정 요청을 어떻게 처리할 지 등이 작성되어 있다. 같은 폴더의 schema.ts는 정의된 type과 resolver를 묶어서 반환한다. context 일종의 전역변수 개념으로, context 필드에는 객체 혹은 객체를 반환하는 function이 들어간다. 해당 config 설정 시 resolver에서 해당 context의 객체를 인자로 받아서 사용이 가능하다. req.clientHeader 프로..
-
fetch와 axiosEtc/WEB 2021. 6. 14. 10:53
둘 모두 ajax 라이브러리이다. (return값은 Promise type이다.) - fetch는 웹 API로써 기본적으로 제공하는 비동기 요청 함수이다. - 응답 및 요청 데이터를 자동으로 json형식으로 변환해주지 않는다. 따라서, 응답한 데이터를 response.json() 처리를 한 후에 사용할 수 있다. - 또한, 일부 익스플로어 버전에서는 지원하지 않는다. https://www.daleseo.com/js-window-fetch/ [자바스크립트] fetch() 함수로 API 호출하기 Engineering Blog by Dale Seo www.daleseo.com response.json() 후 data로 전달하면 object로 사용할 수 있다.(근데 설명상으로는 json형태로 되어있다) axio..
-
Redux의 필요성Etc/WEB 2021. 5. 17. 08:10
오늘 React의 Virtual Dom의 생성 과정 및 컴포넌트의 생명주기를 공부하다가, 바탕화면에 있는 내가 전에 만들어두었던 To Do List 어플리케이션을 구경했다. 근데 하위 컴포넌트로 props를 거의 10개가 넘게 전달하는 것을 보면서 정말 놀랐다. 이전에 Redux로 상태관리를 했던 프로젝트 코드에 익숙해졌다보니.. 게다가 클래스형 컴포넌트 형태로 작성을 한 것도 오랜만에 보니 또 낯설었다.(함수형 컴포넌트의 소중함?) To Do List의 toDos를 업데이트 해야 되서 input을 담당하는 컴포넌트까지 계~속 얘를 전달하다보니 정말 가독성이 엉망이었다. 리덕스를 사용하면(react-redux기준) 그냥 useState로 새로운 상태 input 만들고, input에 추가된 내용을 디스패치..