Basic 다른 컴포넌트의 토대가 되는 가장 기초적인 컴포넌트. Props, Children 등이 매우 동적으로 들어감. C | Composed Basic Component 들이 조합되어 만들어진 컴포넌트. 드롭다운, 탭 등 사용성 높은 것들이 대부분 여기에 속함. D | Deep Basic, Composed Component를 HOC, Overriding 등으로 극도로 재활용한 컴포넌트.
Props, Children 등이 매우 동적으로 들어감. C | Composed Basic Component 들이 조합되어 만들어진 컴포넌트. 드롭다운, 탭 등 사용성 높은 것들이 대부분 여기에 속함. D | Deep Basic, Composed Component를 HOC, Overriding 등으로 극도로 재활용한 컴포넌트. Button Input Item Item Item List Toggle 설계 원칙 컴포넌트 레벨 디자인 |
컴포넌트의 토대가 되는 가장 기초적인 컴포넌트. ops, Children 등이 매우 동적으로 들어감. C | Composed Basic Component 들이 조합되어 만들어진 컴포넌트. 드롭다운, 탭 등 사용성 높은 것들이 대부분 여기에 속함. D | Deep Basic, Composed Component를 HOC, Overriding 등으로 극도로 재활용한 컴포넌트. Select Fruit Apple Banana Cherry Dropdown The Magic Words are … Movie theater March comes like … DropdownSearch The 설계 원칙 컴포넌트 레벨 디자인 |
({ target: { value } }) => { await searchFromList(value) onToggle(false) }} /> {isVisible && ( <List> <Item /> </List> )} </Fragment> )} </Toggle> The Magic Words are … Movie theater March comes like … DropdownSearch The * <Fragment> 는 React 16.2 이상에서 사용 가능
가장 기초적인 컴포넌트. ops, Children 등이 매우 동적으로 들어감. D | Deep Basic, Composed Component를 HOC, Overriding 등으로 극도로 재활용한 컴포넌트. Select Fruit Apple Banana Cherry Dropdown The Magic Words are … Movie theater March comes like … DropdownSearch The C | Composed Basic Component 들이 조합되어 만들어진 컴포넌트. 드롭다운, 탭 등 사용성 높은 것들이 대부분 여기에 속함. Higher Order Component + Toggle에 @animation 넣어 애니메이션 추가 Override + DropdownSearch의 searchFromList()를 Override 하여 API 검색 기능 추가 + render()에 Loading Component 추가하기 EXPERIMENTAL 설계 원칙 컴포넌트 레벨 디자인 |
this.node = c; }} /> component <List component={<AlphabetList />} /> refer는 컴포넌트 내에서 사용되는 태그 또는 다른 컴포넌트에 특별히 이름을 붙여 지칭할 수 있습니다. React에서 기본적으로 제공하는 ref와 구분하면서, ‘지칭한다’는 의미를 살리기 위해 ‘refer’라고 명명합니다. component는 컴포넌트를 구성하는 태그(다른 컴포넌트)를 다른 것으로 변경할 수 있게 도와줍니다. 이를 통해 다른 태그 등의 사용 때문에 비슷한 기능의 새로운 컴포넌트를 개발하는 경우를 최소화할 수 있습니다. <Dropdown componentToggle={<LaughBell />} /> <Tab referIndicator={(c) => { this.indicator = c; } />
특별한 곳을 지칭 / 변경하는 경우, 뒷 부분에 어떠한 역할을 하는지 작성한다. ex) referInput, componentToggle Interface (Helper Function…) 컴포넌트 - 컨테이너에서 범용적으로 자주 사용하는 함수들은 가급적 helper~ 또는 ~able 꼴로 작성한다. ex) helperWebURLValidation, fadable Variable 모든 변수는 camelCase로 작성하며 boolean 타입의 변수는 가급적 is~ 꼴의 의문형으로 작성합니다. ex) isOpen, isAlreadyInList ClassName & camelCase className의 경우 불필요한 공백이 없도록 합니다. 케이스 준수를 원한다면 camelize()를 사용할 수 있습니다. ex) className='hello '(X) => className='hello' (O) camelize('abc-some_case-OfIt') => 'abcSomeCaseOfIt'
Rich Internet Applications. 미비된 내역이 많았던 웹 접근성에 대한 내용은 W3C WAI-ARIA와 A11Y Project를 참고하여 ABC의 모든 컴포넌트 내에 적용할 예정입니다. ARIA Attribute Keeping Promises <div className='abc__toggle__container' aria-expanded={`${this.state.isOpen}`} onFocus={this.handleClickOpen} > {/* Implementation of Toggle */} {/* clarify => is Toggle Expanded? */} <button>Button</button> <a className='btn'>Button</a> <input type='button' value='Button'>
Sinon 클릭, API 호출 등 이벤트 테스트 Jest JavaScript 테스팅 도구 1 2 3 자체 QA 코드 리뷰 및 수정 기도하기 Faith Test Logical Test Visual Test Try-Catch Human Errors Verify Happy Path Scenario Design(UI / UX) 해피패스 시나리오 검수