Skip to content

Source code for React Quickly [Manning, 2017]: Painless Web Apps with React, JSX, Redux, and GraphQL ๐Ÿ“•

License

Notifications You must be signed in to change notification settings

illite-io/react-quickly

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

410 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๋ฆฌ์•กํŠธ ๊ต๊ณผ์„œ

Source code for React Quickly: Painless Web Apps with React, JSX, Redux, and GraphQL ๐Ÿ“• [Manning, 2017]. More information at the website or Manning Publications.

Available NOW in major book stores and at Manning.

1๋ถ€ React ๊ธฐ์ดˆ

1์žฅ React ์‚ดํŽด๋ณด๊ธฐ

1.1 React๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

1.2 React๊ฐ€ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ

1.3 React์˜ ์žฅ์ 

1.3.1 ๊ฐ„๊ฒฐ์„ฑ

1.3.2 ์†๋„์™€ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ

1.3.3 React์˜ ํญ๋„“์€ ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์ƒํƒœ๊ณ„

1.4 React์˜ ๋‹จ์ 

1.5 ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— React ์ ์šฉํ•˜๊ธฐ

1.5.1 React ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๋ Œ๋”๋ง ๋Œ€์ƒ

1.5.2 ๋‹จ์ผ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ React

1.5.3 React ๊ฐœ๋ฐœ ์Šคํƒ

1.6 ์ฒซ ๋ฒˆ์งธ React ์•ฑ ๋งŒ๋“ค๊ธฐ: Hello World

1.7 ํ€ด์ฆˆ

1.8 ์š”์•ฝ

1.9 ํ€ด์ฆˆ ์ •๋‹ต

2์žฅ React ์ฒซ๊ฑธ์Œ

2.1 ์—˜๋ฆฌ๋จผํŠธ ์ค‘์ฒฉ

2.2 React ์ปดํฌ๋„ŒํŠธ ํด๋ž˜์Šค ์ƒ์„ฑ

2.3 React ์†์„ฑ ์‚ฌ์šฉํ•˜๊ธฐ

2.4 ํ€ด์ฆˆ

2.5 ์š”์•ฝ

2.6 ํ€ด์ฆˆ ์ •๋‹ต

3์žฅ JSX

3.1 JSX์˜ ์ •์˜์™€ ์žฅ์ 

3.2 JSX์˜ ์ดํ•ด

3.2.1 JSX๋กœ React ์—˜๋ฆฌ๋จผํŠธ ์ƒ์„ฑํ•˜๊ธฐ

3.2.2 React ์ปดํฌ๋„ŒํŠธ์— JSX ์‚ฌ์šฉํ•˜๊ธฐ

3.2.3 JSX์—์„œ ๋ณ€์ˆ˜ ์ถœ๋ ฅํ•˜๊ธฐ

3.2.4 JSX์—์„œ ์†์„ฑ ์‚ฌ์šฉํ•˜๊ธฐ

3.2.5 React ์ปดํฌ๋„ŒํŠธ ๋ฉ”์„œ๋“œ ์ƒ์„ฑํ•˜๊ธฐ

3.2.6 JSX์˜ if/else ์ฒ˜๋ฆฌ

3.2.7 JSX์˜ ์ฃผ์„ ์ž‘์„ฑ ๋ฐฉ๋ฒ•

3.3 Babel์„ ์ด์šฉํ•œ JSX ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ ์„ค์ •ํ•˜๊ธฐ

3.4 React์™€ JSX์˜ ๊นŒ๋‹ค๋กœ์šด ๋ถ€๋ถ„

3.4.1 ํŠน์ˆ˜๋ฌธ์ž

3.4.2 data- ์†์„ฑ

3.4.3 ์Šคํƒ€์ผ ์†์„ฑ

3.4.4 class์™€ for ์†์„ฑ

3.4.5 ๋ถˆ ๊ฐ’์„ ์†์„ฑ ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ

3.5 ํ€ด์ฆˆ

3.6 ์š”์•ฝ

3.7 ํ€ด์ฆˆ ์ •๋‹ต

4์žฅ React ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ ๊ฐ์ฒด

4.1 React ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ๋ž€?

4.2 ์ƒํƒœ ๊ฐ์ฒด ๋‹ค๋ฃจ๊ธฐ

4.2.1 ์ƒํƒœ ๊ฐ์ฒด์— ์ ‘๊ทผํ•˜๊ธฐ

4.2.2 ์ดˆ๊ธฐ ์ƒํƒœ ์„ค์ •ํ•˜๊ธฐ

4.2.3 ์ƒํƒœ ๊ฐฑ์‹ ํ•˜๊ธฐ

4.3 ์ƒํƒœ ๊ฐ์ฒด์™€ ์†์„ฑ

4.4 ์ƒํƒœ๋น„์ €์žฅ ์ปดํฌ๋„ŒํŠธ

4.5 ์ƒํƒœ๋น„์ €์žฅ ์ปดํฌ๋„ŒํŠธ์™€ ์ƒํƒœ์ €์žฅ ์ปดํฌ๋„ŒํŠธ์˜ ๋น„๊ต 1

4.6 ํ€ด์ฆˆ

4.7 ์š”์•ฝ

4.8 ํ€ด์ฆˆ ์ •๋‹ต

5์žฅ React ์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„์‚ฌ์ดํด ์ด๋ฒคํŠธ

5.1 React ์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„์‚ฌ์ดํด ์ด๋ฒคํŠธ ํ•œ๋ˆˆ์— ์‚ดํŽด๋ณด๊ธฐ

5.2 ์ด๋ฒคํŠธ ๋ถ„๋ฅ˜

5.3 ์ด๋ฒคํŠธ ๊ตฌํ˜„

5.4 ๋ชจ๋“  ์ด๋ฒคํŠธ ์‹คํ–‰ํ•˜๊ธฐ

5.5 ๋งˆ์šดํŒ… ์ด๋ฒคํŠธ

5.5.1 componentWillMount( )

5.5.2 componentDidMount( )

5.6 ๊ฐฑ์‹  ์ด๋ฒคํŠธ

5.6.1 componentWillReceiveProps(newProps)

5.6.2 shouldComponentUpdate( )

5.6.3 componentWillUpdate( )

5.6.4 componentDidUpdate( )

5.7 ์–ธ๋งˆ์šดํŒ… ์ด๋ฒคํŠธ

5.7.1 componentWillUnmount( )

5.8 ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ

5.9 ํ€ด์ฆˆ

5.10 ์š”์•ฝ

5.11 ํ€ด์ฆˆ ์ •๋‹ต

6์žฅ React์—์„œ ์ด๋ฒคํŠธ ๋‹ค๋ฃจ๊ธฐ

6.1 React์—์„œ DOM ์ด๋ฒคํŠธ ๋‹ค๋ฃจ๊ธฐ

6.1.1 ์บก์ฒ˜ ๋ฐ ๋ฒ„๋ธ”๋ง ๋‹จ๊ณ„

6.1.2 React ์ด๋ฒคํŠธ ์‚ดํŽด๋ณด๊ธฐ

6.1.3 React ํ•ฉ์„ฑ ์ด๋ฒคํŠธ ๊ฐ์ฒด ๋‹ค๋ฃจ๊ธฐ

6.1.4 ์ด๋ฒคํŠธ์™€ ์ƒํƒœ ์‚ฌ์šฉํ•˜๊ธฐ

6.1.5 ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์†์„ฑ์œผ๋กœ ์ „๋‹ฌํ•˜๊ธฐ

6.1.6 ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜

6.2 React๊ฐ€ ์ง€์›ํ•˜์ง€ ์•Š๋Š” DOM ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌํ•˜๊ธฐ

6.3 React๋ฅผ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ†ตํ•ฉํ•˜๊ธฐ: jQuery UI ์ด๋ฒคํŠธ

6.3.1 ๋ฒ„ํŠผ ํ†ตํ•ฉํ•˜๊ธฐ

6.3.2 ๋ผ๋ฒจ ํ†ตํ•ฉํ•˜๊ธฐ

6.4 ํ€ด์ฆˆ

6.5 ์š”์•ฝ

6.6 ํ€ด์ฆˆ ์ •๋‹ต

7์žฅ React์—์„œ ํผ ๋‹ค๋ฃจ๊ธฐ

7.1 React์—์„œ ํผ์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๊ถŒ์žฅ ๋ฐฉ๋ฒ•

7.1.1 React์—์„œ ํผ๊ณผ ์ด๋ฒคํŠธ ์ •์˜ํ•˜๊ธฐ

7.1.2 ํผ ์š”์†Œ ์ •์˜ํ•˜๊ธฐ

7.1.3 ๋ณ€๊ฒฝ ๊ฐ์ง€ํ•˜๊ธฐ

7.1.4 ๋Œ€์ถœ ์‹ ์ฒญ์„œ์˜ ๊ณ„์ขŒ๋ฒˆํ˜ธ ์˜์—ญ ๋งŒ๋“ค๊ธฐ

7.2 ํผ์„ ๋‹ค๋ฃจ๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•

7.2.1 ๋น„์ œ์–ด ์—˜๋ฆฌ๋จผํŠธ์—์„œ ๋ณ€๊ฒฝ ๊ฐ์ง€ํ•˜๊ธฐ

7.2.2 ๋น„์ œ์–ด ์—˜๋ฆฌ๋จผํŠธ์—์„œ ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

7.2.3 ๊ฐ’์— ์ฐธ์กฐ๋กœ ์ ‘๊ทผํ•˜๊ธฐ

7.2.4 ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •ํ•˜๊ธฐ

7.3 ํ€ด์ฆˆ

7.4 ์š”์•ฝ

7.5 ํ€ด์ฆˆ ์ •๋‹ต

8์žฅ ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•œ React ์ปดํฌ๋„ŒํŠธ

8.1 ์ปดํฌ๋„ŒํŠธ์˜ ๊ธฐ๋ณธ ์†์„ฑ

8.2 React ์†์„ฑ ํƒ€์ž…๊ณผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ

8.3 ์ž์‹ ์—˜๋ฆฌ๋จผํŠธ ๋ Œ๋”๋ง

8.4 ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•œ React ๊ณ ์ฐจ ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑํ•˜๊ธฐ

8.4.1 displayName์„ ์ด์šฉํ•œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์™€ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์˜ ๊ตฌ๋ถ„

8.4.2 ํŽผ์นจ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ชจ๋“  ์†์„ฑ ์ „๋‹ฌํ•˜๊ธฐ

8.4.3 ๊ณ ์ฐจ ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉํ•˜๊ธฐ

8.5 ๋ชจ๋ฒ” ์‚ฌ๋ก€: ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ์ปดํฌ๋„ŒํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ ์ปดํฌ๋„ŒํŠธ

8.6 ํ€ด์ฆˆ

8.7 ์š”์•ฝ

8.8 ํ€ด์ฆˆ ์ •๋‹ต

9์žฅ ํ”„๋กœ์ ํŠธ: Menu ์ปดํฌ๋„ŒํŠธ

9.1 ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์™€ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ค€๋น„ํ•˜๊ธฐ

9.2 JSX๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋งŒ๋“œ๋Š” Menu ์ปดํฌ๋„ŒํŠธ

9.2.1 Menu ์ปดํฌ๋„ŒํŠธ

9.2.2 Link ์ปดํฌ๋„ŒํŠธ

9.2.3 ๋ฉ”๋‰ด ์ž‘๋™์‹œํ‚ค๊ธฐ

9.3 JSX๋กœ ๋งŒ๋“œ๋Š” Menu ์ปดํฌ๋„ŒํŠธ

9.3.1 Menu ์ปดํฌ๋„ŒํŠธ ๋ฆฌํŒฉํ† ๋ง

9.3.2 Link ์ปดํฌ๋„ŒํŠธ ๋ฆฌํŒฉํ† ๋ง

9.3.3 JSX ํ”„๋กœ์ ํŠธ ์‹คํ–‰ํ•˜๊ธฐ

9.4 ๊ณผ์ œ

9.5 ์š”์•ฝ

10์žฅ ํ”„๋กœ์ ํŠธ: Tooltip ์ปดํฌ๋„ŒํŠธ

10.1 ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์™€ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ค€๋น„ํ•˜๊ธฐ

10.2 Tooltip ์ปดํฌ๋„ŒํŠธ

10.2.1 toggle( ) ๋ฉ”์„œ๋“œ

10.2.2 render( ) ๋ฉ”์„œ๋“œ

10.3 ์‹คํ–‰ํ•˜๊ธฐ

10.4 ๊ณผ์ œ

10.5 ์š”์•ฝ

11์žฅ ํ”„๋กœ์ ํŠธ: Timer ์ปดํฌ๋„ŒํŠธ

11.1 ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์™€ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ค€๋น„ํ•˜๊ธฐ

11.2 ์•ฑ ์•„ํ‚คํ…์ฒ˜

11.3 TimerWrapper ์ปดํฌ๋„ŒํŠธ

11.4 Timer ์ปดํฌ๋„ŒํŠธ

11.5 Button ์ปดํฌ๋„ŒํŠธ

11.6 ์‹คํ–‰ํ•˜๊ธฐ

11.7 ๊ณผ์ œ

11.8 ์š”์•ฝ

2๋ถ€ React ์•„ํ‚คํ…์ฒ˜

12์žฅ Webpack ๋นŒ๋“œ ๋„๊ตฌ

12.1 Webpack์˜ ์—ญํ• 

12.2 ํ”„๋กœ์ ํŠธ์— Webpack ์ ์šฉํ•˜๊ธฐ

12.2.1 Webpack๊ณผ ์˜์กด ๋ชจ๋“ˆ ์„ค์น˜

12.2.2 Webpack ์„ค์ •

12.3 ์ฝ”๋“œ ๋ชจ๋“ˆํ™”

12.4 Webpack์˜ ์‹คํ–‰๊ณผ ๋นŒ๋“œ ํ…Œ์ŠคํŠธ

12.5 ํ•ซ ๋ชจ๋“ˆ ๋Œ€์ฒด

12.5.1 HMR ์„ค์ • ๋ฐฉ๋ฒ•

12.5.2 HMR ์‹คํ–‰

12.6 ํ€ด์ฆˆ

12.7 ์š”์•ฝ

12.8 ํ€ด์ฆˆ ์ •๋‹ต

13์žฅ React ๋ผ์šฐํŒ…

13.1 ๋ผ์šฐํ„ฐ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ตฌํ˜„ํ•˜๊ธฐ

13.1.1 ํ”„๋กœ์ ํŠธ ์„ค์ •

13.1.2 app.jsx์—์„œ ๊ฒฝ๋กœ ๋งตํ•‘ ์ƒ์„ฑํ•˜๊ธฐ

13.1.3 router.jsx ํŒŒ์ผ์— Router ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑํ•˜๊ธฐ

13.2 React Router

13.2.1 JSX๋กœ React Router ์‚ฌ์šฉํ•˜๊ธฐ

13.2.2 ํ•ด์‹œ ํžˆ์Šคํ† ๋ฆฌ

13.2.3 ๋ธŒ๋ผ์šฐ์ € ํžˆ์Šคํ† ๋ฆฌ

13.2.4 React Router๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ Webpack ์„ค์ •

13.2.5 ๋ ˆ์ด์•„์›ƒ ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑํ•˜๊ธฐ

13.3 React Router์˜ ๊ธฐ๋Šฅ๊ณผ ํŒจํ„ด

13.3.1 withRouter ๊ณ ์ฐจ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ๋ผ์šฐํ„ฐ์— ์ ‘๊ทผํ•˜๊ธฐ

13.3.2 ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ ์œผ๋กœ ํŽ˜์ด์ง€ ์ด๋™ํ•˜๊ธฐ

13.3.3 URL ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ

13.3.4 React Router์—์„œ ์†์„ฑ ์ „๋‹ฌํ•˜๊ธฐ

13.4 Backbone์„ ์ด์šฉํ•œ ๋ผ์šฐํŒ…

13.5 ํ€ด์ฆˆ

13.6 ์š”์•ฝ

13.7 ํ€ด์ฆˆ ์ •๋‹ต

14์žฅ Redux๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ

14.1 React์˜ ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„ ์ง€์›

14.2 Flux ๋ฐ์ดํ„ฐ ์•„ํ‚คํ…์ฒ˜์˜ ์ดํ•ด

14.3 Redux ๋ฐ์ดํ„ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ

14.3.1 Redux๋ฅผ ์ด์šฉํ•œ ๋„ทํ”Œ๋ฆญ์Šค ๋”ฐ๋ผ์žก๊ธฐ

14.3.2 ์˜์กด ๋ชจ๋“ˆ๊ณผ ๋นŒ๋“œ ์„ค์ •

14.3.3 Redux ์‚ฌ์šฉํ•˜๊ธฐ

14.3.4 ๋ผ์šฐํŒ…

14.3.5 ๋ฆฌ๋“€์„œ ๊ฒฐํ•ฉํ•˜๊ธฐ

14.3.6 ์˜ํ™” ๋ชฉ๋ก ๋ฆฌ๋“€์„œ

14.3.7 ์•ก์…˜

14.3.8 ์•ก์…˜ ์ƒ์„ฑ์ž

14.3.9 ์ปดํฌ๋„ŒํŠธ๋ฅผ ์Šคํ† ์–ด์— ์—ฐ๊ฒฐํ•˜๊ธฐ

14.3.10 ์Šคํ† ์–ด์— ์•ก์…˜ ์ „๋‹ฌํ•˜๊ธฐ

14.3.11 ์ปดํฌ๋„ŒํŠธ ์†์„ฑ์œผ๋กœ ์•ก์…˜ ์ƒ์„ฑ์ž ์ „๋‹ฌํ•˜๊ธฐ

14.3.12 ๋„ทํ”Œ๋ฆญ์Šค ์•ฑ ์‹คํ–‰ํ•˜๊ธฐ

14.3.13 Redux ์š”์•ฝ ์ •๋ฆฌ

14.4 ํ€ด์ฆˆ

14.5 ์š”์•ฝ

14.6 ํ€ด์ฆˆ ์ •๋‹ต

15์žฅ GraphQL์„ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ

15.1 GraphQL

15.2 ๋„ทํ”Œ๋ฆญ์Šค ์•ฑ์— ๋ฐฑ์—”๋“œ ์ถ”๊ฐ€ํ•˜๊ธฐ

15.2.1 ์„œ๋ฒ„์— GraphQL ์„ค์น˜ํ•˜๊ธฐ

15.2.2 ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

15.2.3 GraphQL ์Šคํ‚ค๋งˆ

15.2.4 API๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์‘๋‹ต์„ ์Šคํ† ์–ด์— ์ €์žฅํ•˜๊ธฐ

15.2.5 ์˜ํ™” ๋ชฉ๋ก ๋ณด์—ฌ์ฃผ๊ธฐ

15.2.6 GraphQL ์š”์•ฝ ์ •๋ฆฌ

15.3 ํ€ด์ฆˆ

15.4 ์š”์•ฝ

15.5 ํ€ด์ฆˆ ์ •๋‹ต

16์žฅ Jest๋ฅผ ์ด์šฉํ•œ React ๋‹จ์œ„ ํ…Œ์ŠคํŠธ

16.1 ํ…Œ์ŠคํŠธ์˜ ์ข…๋ฅ˜

16.2 Jest์™€ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋น„๊ต

16.3 Jest๋ฅผ ์ด์šฉํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ

16.3.1 Jest ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

16.3.2 Jest ์–ด์จ์…˜

16.4 Jest์™€ TestUtils๋ฅผ ์ด์šฉํ•œ UI ํ…Œ์ŠคํŠธ

16.4.1 TestUtils๋ฅผ ์ด์šฉํ•œ ์—˜๋ฆฌ๋จผํŠธ ํƒ์ƒ‰

16.4.2 ํŒจ์Šค์›Œ๋“œ ์œ„์ ฏ์„ ์œ„ํ•œ UI ํ…Œ์ŠคํŠธ

16.4.3 ์–•์€ ๋ Œ๋”๋ง

16.5 TestUtils ์š”์•ฝ ์ •๋ฆฌ

16.6 ํ€ด์ฆˆ

16.7 ์š”์•ฝ

16.8 ํ€ด์ฆˆ ์ •๋‹ต

17์žฅ React์™€ Node.js๋ฅผ ์ด์šฉํ•œ ์œ ๋‹ˆ๋ฒ„์…œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

17.1 React๋ฅผ ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ ์œ ๋‹ˆ๋ฒ„์…œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ดํ•ด

17.1.1 ์ ์ ˆํ•œ ํŽ˜์ด์ง€ ์ƒ‰์ธ

17.1.2 ๋” ๋‚˜์€ ์„ฑ๋Šฅ๊ณผ ๋น ๋ฅธ ์†๋„

17.1.3 ๋” ๋‚˜์€ ์ฝ”๋“œ ์œ ์ง€๋ณด์ˆ˜

17.1.4 React์™€ Node.js๋ฅผ ์ด์šฉํ•œ ์œ ๋‹ˆ๋ฒ„์…œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

17.2 Node.js์™€ React

17.3 React์™€ Express: ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ด์šฉํ•œ ์„œ๋ฒ„ ์ธก ๋ Œ๋”๋ง

17.3.1 ์„œ๋ฒ„์—์„œ ๊ฐ„๋‹จํ•œ ํ…์ŠคํŠธ ๋ Œ๋”๋งํ•˜๊ธฐ

17.3.2 HTML ํŽ˜์ด์ง€ ๋ Œ๋”๋ง

17.4 Express์™€ React๋ฅผ ์ด์šฉํ•œ ์œ ๋‹ˆ๋ฒ„์…œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

17.4.1 ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์™€ ์„ค์ •

17.4.2 ์„œ๋ฒ„ ์„ค์ •

17.4.3 Handlebars๋ฅผ ์ด์šฉํ•œ ์„œ๋ฒ„ ์ธก ๋ ˆ์ด์•„์›ƒ ํ…œํ”Œ๋ฆฟ

17.4.4 ์„œ๋ฒ„์—์„œ React ์ปดํฌ๋„ŒํŠธ ๊ตฌ์„ฑํ•˜๊ธฐ

17.4.5 ํด๋ผ์ด์–ธํŠธ ์ธก์˜ React ์ฝ”๋“œ

17.4.6 Webpack ์„ค์ •

17.4.7 ์•ฑ ์‹คํ–‰ํ•˜๊ธฐ

17.5 ํ€ด์ฆˆ

17.6 ์š”์•ฝ

17.7 ํ€ด์ฆˆ ์ •๋‹ต

18์žฅ ํ”„๋กœ์ ํŠธ: React Router๋ฅผ ์ด์šฉํ•œ ์„œ์  ๋งŒ๋“ค๊ธฐ

18.1 ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์™€ Webpack ์„ค์ •

18.2 ์ฃผ HTML ํŒŒ์ผ

18.3 ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑํ•˜๊ธฐ

18.3.1 ๋ฉ”์ธ ํŒŒ์ผ: app.jsx

18.3.2 Cart ์ปดํฌ๋„ŒํŠธ

18.3.3 Checkout ์ปดํฌ๋„ŒํŠธ

18.3.4 Modal ์ปดํฌ๋„ŒํŠธ

18.3.5 Product ์ปดํฌ๋„ŒํŠธ

18.4 ํ”„๋กœ์ ํŠธ ์‹คํ–‰ํ•˜๊ธฐ

18.5 ๊ณผ์ œ

18.6 ์š”์•ฝ

19์žฅ ํ”„๋กœ์ ํŠธ: Jest๋ฅผ ์ด์šฉํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฒ€์‚ฌ

19.1 ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์™€ Webpack ์„ค์ •

19.2 ์ฃผ HTML ํŒŒ์ผ

19.3 ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ชจ๋“ˆ ๊ตฌํ˜„ํ•˜๊ธฐ

19.3.1 ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

19.3.2 ์ฝ”๋“œ ๊ตฌํ˜„

19.4 Password ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ํ•˜๊ธฐ

19.4.1 ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

19.4.2 ์ฝ”๋“œ ๊ตฌํ˜„

19.5 ์‹คํ–‰ํ•˜๊ธฐ

19.6 ๊ณผ์ œ

19.7 ์š”์•ฝ

20์žฅ ํ”„๋กœ์ ํŠธ: Jest, Express, MongoDB๋ฅผ ์ด์šฉํ•œ ์ž๋™์™„์„ฑ ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

20.1 ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์™€ Webpack ์„ค์ •

20.2 ์›น ์„œ๋ฒ„ ๊ตฌํ˜„ํ•˜๊ธฐ

20.2.1 RESTful API ์ •์˜ํ•˜๊ธฐ

20.2.2 ์„œ๋ฒ„์—์„œ React ๋ Œ๋”๋งํ•˜๊ธฐ

20.3 ๋ธŒ๋ผ์šฐ์ € ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€ํ•˜๊ธฐ

20.4 ์„œ๋ฒ„ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑํ•˜๊ธฐ

20.5 Autocomplete ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ํ•˜๊ธฐ

20.5.1 Autocomplete ์ปดํฌ๋„ŒํŠธ๋ฅผ ์œ„ํ•œ ํ…Œ์ŠคํŠธ

20.5.2 Autocomplete ์ปดํฌ๋„ŒํŠธ ์ฝ”๋“œ

20.6 ์‹คํ–‰ํ•˜๊ธฐ

20.7 ๊ณผ์ œ

20.8 ์š”์•ฝ

๋ถ€๋ก A | ์ด ์ฑ…์—์„œ ์‚ฌ์šฉํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์น˜ํ•˜๊ธฐ

๋ถ€๋ก B | React ์น˜ํŠธ์‹œํŠธ

๋ถ€๋ก C | Express.js ์น˜ํŠธ์‹œํŠธ

๋ถ€๋ก D | MongoDB์™€ Mongoose ์น˜ํŠธ์‹œํŠธ

๋ถ€๋ก E | ์„ฑ๊ณต์„ ์œ„ํ•œ ES6

๋ถ€๋ก F | ์„œ์  ์˜ˆ์ œ๋กœ ์‚ดํŽด๋ณด๋Š” React Router v4

๋ถ€๋ก G | React ๋ฒ„์ „ 16.3์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ

About

Source code for React Quickly [Manning, 2017]: Painless Web Apps with React, JSX, Redux, and GraphQL ๐Ÿ“•

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.8%
  • Other 0.2%