본문 바로가기

전체 글

(220)
axious http delete method axious delete method는 body에 data를 넣을 수 없다. 그래서 queryString으로 입력을 받아야 한다. 버전에 따라 차이는 있겠지만 내가 썼던 버전에서는 jquery는 아예 delete가 제대로 되지도 않았던것 같고.. 대부분 update로 delete처리를 해서 그런가.. api도 오류가 많고.. 검색 데이터도 부족하다.
git branch 이름에 slash 문자 사용 git 분기에 develop이 있고 master가 있다. 브랜치를 생성할때 slash를 통해 branch간의 계층구조를 나타내고 싶은 요구사항이 있을 수 있다. 만약 화면 개발을 한다고 할때 모바일과 웹개발을 동시에 진행해야하고 develop 브랜치 하위에 mobile브랜치와 web 브랜치를 만들고 싶다고 가정하면 develop/mobile develop/web 과 같이 브랜치를 생성하고 싶을 것이다. 이런 경우 develop 브랜치를 삭제하고 다시 만들어야 develop/web, develop/mobile 과 같이 생성이 가능하다. 위와 같이 생성하고 ref를 가보면 develop 디렉토리와 web 파일, mobile파일이 생성되는 것을 알 수 있다.\ 만약 여기서 develop 브랜치를 생성하려고 한..
코드리뷰 4 routes/MyChannel.js pageRegist = () => { const { history } = this.props; history.push("/myChannel/regist"); }; 메소드는 명령형으로 작성했으면 합니다. pageRegist => routeToChannelRegistrationPage history 에서 이렇게 직접 Push 할 필요가 있나요? 사용하면 될 텐데요. 위처럼 가능할 줄 알았는데, 그렇지 않다고 하네요. 태그 안에 태그는 들어갈 수 없다고... render() { return ( ( )} /> ... 는 상위에도 하나 있을 텐데, 여기에 하나더 추가해서 중복해서 쓸 필요가 있나요? 혹시 이유가 있나요? 없이 를 사용되는 것을 막기 위한 가드 코드? 라우터 사용..
MOBX Store 모델이 변경되었어도 렌더링이 안되는 이슈 정상적으로 코드를 작성한 경우에 렌더링이 안되는 경우 두가지 이유가 있었다. 나의 경우 테이블을 작성하고 검색하는 텍스트에 따라 결과를 뿌려주는 기능을 만들었다. 검색하여 Table의 Row의 결과값이 수정되었는데 변경이 되지 않았다. 간헐적으로 변경이 되지 않았는데 이유는 두가지였다. 1. @Observable DataModel 을 선언 할 때 하위 구조까지 명시해야한다. mobx 5버전 이상은 알아서 하위 변경내용까지 감지해준다. IE를 지원해야 하는 사이트의 경우 mobx 4버전을 사용해야하는데 이런 경우 내부까지 명시해주어야 한다. ex) @Observable Members : { Student : { ID:"", NAME:""}} 2. 키값이 중복되지 않아야 한다. ex) 키값이 중복되는 경우 ..
userQuery 여러번 사용시 illegal parameter 오류나는 경우 유저쿼리를 사용할때 같은 dof를 여러번 사용하는경우 parameter 바인딩할때 버그가 생긴다. 유저쿼리를 사용한 dofactory를 new해서 다시 사용하면 된다.
MobX에서의 object vs Map 비교 MobX object는 Key로 스트링 또는 숫자만 가지고, Map의 경우 스트링, 숫자 뿐만 아니라 object, function 등 어떤것도 Key로 가질수 있다는 차이점이 있습니다. Object의 Property들이 고정적이라면 무방하지만, 새로운 프로퍼티를 나중에 동적으로 추가해야하는 경우에는 Map을 써야합니다. 왜냐하면 동적으로 추가된 key는 observable하지 않기 때문입니다. 하지만 이 경우 Map을 사용한다면 observable하게 사용할 수 있다고 합니다. frontendmasters.com/courses/react-state/mobx-data-structures-arrays-objects-and-maps/
url로 접근했을 시 정상적으로 렌더링 되지 않는 이슈 이슈 : Kanban 내에서 Link tag를 이용해 Route 컴포넌트에 접근하여 다른 컴포넌트를 render할 경우 문제가 없지만, url로 Route 컴포넌트에 접근하여 다른 컴포넌트를 render할 경우에는 화면이 비정상적인 이슈가 발생합니다. 원인 : 우리가 흔히 Route 컴포넌트에 render할 컴포넌트를 지정할 때 "component" 키워드를 사용합니다. component 키워드는 지정한 컴포넌트를 새로 mount 합니다. 따라서 component lifecycle 함수 중 mount와 관련된 함수(ex. componentDidMount, componentWillMount ...)가 동작합니다. 하지만 우리가 url로 접근할 경우 Route 컴포넌트에서 "render" 키워드를 사용한 것..
코드리뷰 3 common/util/StoreUtil.js 이 유틸리티가 필요한 이유가 무엇인가요? 유틸 구조가 모호함. 굳이 계층 구조로 만드는 이유가 있나요? Utils JavaScript 에서는 obj.get("key") 이렇게 사용하는 방식 대신에 obj.key 로 쓰는게 좋을 것 같습니다. getUtils getStore 디콤포지션(decomposition) 이 지원되서 편합니다. common/util/UserUtil.js const UserUtils = { getLoginUserId: () => { const UserStore = StoreUtils.getStore("UserStore"); return UserStore?.getLoginUserId(); }, }; Util 은 보통 정적(Static) 메소드..