Ʈ 丮 Ʈ ֵ ! å ϴ , Ʈ ̱ ø̼ ϰ ִ Ʈ ֵ (Component Driven Development, CDD) ϰ ϴ ڸ ϰ ִ. Ʈ 丮 Ͽ Ʈ ֵ ֵ, Ʈ ʺ 丮 , 丮 Ʈ ֵ ٷ ϰ ִ. å , Ʈ ֵ ʰ ִ Ʈ 丮 Ͽ Ʈ ֵ Ȱ ֵ ȳϰ ִ.
ѱ ұ MFC α ȵ̵, iOS, ڷ Ȱ Ͽ. , αӷμ ȣֿ ȰϿ Ϻ Ǯ Ͼμ Ʈ, Ʈ Ƽ긦 ̴. ̿ܿ Ʈ Ʈ Ƽ긦 ̸ ߿ α ϰ ִ. 2019 Ʈ Ƽ긦 Ͽ iOS ȵ̵ ֵ, < ø React Native> ⰣϿ.
- α
https://dev-yakuza.posstree.com/ko/
- Ʈ
https://dev-yakuza.posstree.com/app/list/ko/
- ø React Native
https://github.com/bjpublic/Reactnative
1 Ʈ?1.1 1) 1.0 - ô2) 2.0 - ø̼ ô1.2 Ʈ Ư¡1) JSX2) ܹ ε3) 4) α5) Ʈ 1.3 2 Ʈ ȯ2.1 ȯ 1) ݸƼ ġ2) ġ2.3 Ʈ ϴ 1) ũƮ ± ߰2) Webpack̳ Babel Ͽ 3) create-react-app4) Next.js ӿũ2.4 create-react-app1) create-react-app ġ2) create-react-app Ʈ 3) create-react-app Ʈ 2.5 3 ù Ʈ Ʈ3.1 ŸԽũƮ1) create-react-app ŸԽũƮ2) create-react-app ŸԽũƮ ø ϱ3.2 Ÿϸ1) CSS Link ±2) CSS import3) CSS-in-JS (Emotion)3.3 η Ʈ ߰3.4 Prettier1) Prettier ġ2) Prettier 3) Prettier 3.5 ESLint1) ESLint ġ2) ESLint 3) ESLint 3.6 4 ī - Props State 4.1 Props State4.2 Ʈ غ 4.3 1) Container / Ʈ2) Title / Ʈ3) Label / Ʈ4) Button / Ʈ5) State6) Props4.4 5 Ŭ Ʈ5.1 Ŭ Ʈ5.2 Ʈ غ5.3 1) Button / Ʈ2) Label / Ʈ3) App / Ʈ5.4 Ŭ Լ1) constructor Լ2) render Լ3) getDerivedStateFromProps Լ4) componentDidMount Լ5) shouldComponentUpdate Լ6) getSnapshotBeforeUpdate Լ7) componentDidUpdate Լ8) componentWillUnmount Լ9) componentDidCatch Լ10) ȣ 5.5 6 - Context API6.1 Context API6.2 Ʈ غ6.3 State Props 1) Title / Ʈ2) Button / Ʈ3) ToDoItem / Ʈ4) ToDoList / Ʈ5) useState ϱ6) DataView / Ʈ7) TextInput / Ʈ8) ߰ ư Ʈ9) ToDoInput / Ʈ10) ShowInputButton / Ʈ11) InputContainer / Ʈ6.4 Context API 1) ToDoList / 2) App / Ʈ Provider 3) ToDoList / Ʈ: Consumer Ͽ Context ϱ4) ToDoInput / Ʈ: Consumer Ͽ Context ϱ6.5 7 react-router7.1 react-router7.2 Ʈ غ7.3 1) react-router2) DataView / Ʈ3) ToDoInput / Ʈ4) Header / Ʈ ߰7.4 8 Fetch API 8.1 Fetch API 8.2 Ʈ غ8.3 1) Header / Ʈ2) BlogPost / Ʈ3) α State4) useEffect 5) Fetch API 6) Button / Ʈ7) Form / Ʈ8) Form / ǥ State9) α State 10) Fetch API α ϱ8.4 9 Ʈ ֵ 9.1 Ʈ ֵ 9.2 9.3 丮9.4 Ʈ غ9.5 丮 ġ9.6 丮 9.7 丮 Ȯ 1) .storybook 2) .eslintrc.js 3) .npmrc 4) package.json 5) ./src/stories 6) ./src/stories/Button.tsx 7) ./src/stories/Button.stories.tsx 8) ./src/stories/Introduction.stories.mdx 9.8 丮 1) 2) Ʈ г3) 4) - 5) - ȭ ũ9.9 10 Ʈ ֵ - ī 10.1 ī 10.2 Ʈ غ10.3 1) Title / Ʈ2) Button / Ʈ3) Count / Ʈ4) Counter / ü Ʈ5) CounterApp / ø Ʈ6) Home / Ʈ7) ī 10.4 11 CDD - 11.2 Ʈ غ11.3 1) AppTitle / Ʈ2) PageTitle / Ʈ3) Label / Ʈ4) Button / Ʈ5) Input / Ʈ6) Header / ü Ʈ7) ToDoItem / ü Ʈ8) InputToDo / ü Ʈ9) ToDoList / ø Ʈ10) ToDoInput / ø Ʈ11) ToDoListPage / Ʈ12) ToDoList ؽƮ13) ToDoInputPage / Ʈ14) NotFound / Ʈ15) 11.4 12 CDD - α 12.1 α 12.2 Ʈ غ12.3 1) AppTitle / Ʈ2) BlogTitle / Ʈ3) BlogBody / Ʈ4) Button / Ʈ5) DialogTitle / Ʈ6) Label / Ʈ7) InputText / Ʈ8) Input / Ʈ9) Header / ü Ʈ10) BlogItem / ü Ʈ11) RegisterBlogDialog / ü Ʈ12) BlogList / ø Ʈ13) BlogListPage / Ʈ14) α 12.4 η1. Lefthook1) Ʈ غ2) Lefthook ġ3) Lefthook 4) Lefthook 5) Lefthook 2.