avatar

React 6

  • React Hooks Api (2)

    ### useReducer ```javascript const [state, dispatch] = useReducer(reducer, initialArg, init); ``` `useState`์˜ ๋Œ€์ฒด ํ•จ์ˆ˜๋‹ค. ๋‹ค์ˆ˜์˜ ํ•˜์œ— ๊ฐ’์„ ๋งŒ๋“œ๋Š” ๋ณต์žกํ•œ ๋กœ์ง, ํ˜น์€ ๋‹ค์Œ state๊ฐ€ ์ด์ „ state์˜ ์˜์กด์ ์ธ ๊ฒฝ์šฐ์— ์“ด๋‹ค. ๋ญ๊ฐ€ ๋ญ”์ง€ ๋ชจ๋ฅด๊ฒ ์œผ๋‹ˆ๊นŒ ์˜ˆ์ œ๋ฅผ ๋ณด์ž. ...

    3๋ถ„
  • React Hooks Api (1)

    # Hooks API Hook์€ react 16.8์—์„œ ์ถ”๊ฐ€๋œ ๊ฐœ๋…์œผ๋กœ, Hook์„ ์‹œ์šฉํ•˜๋ฉด class๋ฅผ ๊ฐ–์„ฑํ•˜์ง€ ์•Š์•„๋„ state๊ด€๋ฆฌ์™€ ๊ฐ™์€ react์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ## ๊ธฐ๋ณธ Hook ### useState ```javascript const [state, setState] = useState(initialState); setStat...

    4๋ถ„
  • React ๊ณต๋ถ€ํ•˜๊ธฐ 7 - ์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„ ์‚ฌ์ดํด

    ## React Component Life Cycle ๋ผ์ดํ”„ ์‚ฌ์ดํด์€ ์ด 10๊ฐ€์ง€๋‹ค. `Will`์ ‘๋‘์‚ฌ๋Š” ์–ด๋–ค ์ž‘์—…์„ ์ž‘๋™ํ•˜๊ธฐ์ „์— ์‹คํ–‰ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๊ฐ€, `Did`๋Š” ์–ด๋–ค ์ž‘์—…์„ ํ•œ ํ›„์— ์‹คํ•ด์˜ค๋””๋Š” ๋ฉ”์„œ๋“œ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋“ค์€ ์ปดํฌ๋„ŒํŠธ ํด๋ž˜์Šค์—์„œ ๋ฎ์–ด์จ์„œ ์„ ์–ธํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ผ์ดํ”„์‚ฌ์ดํด์€ ์ด 3๊ฐ€์ง€ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š”๋ฐ, `mount`, `unm...

    5๋ถ„
  • React ๊ณต๋ถ€ํ•˜๊ธฐ 8 - ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ

    ### ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ ```javascript import React from 'react'; function Hello(props) { return ( <div>hello {props.name}</div> ) } ``` ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋Š” ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ผ์ดํ”„์‚ฌ์ดํด, state ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ•œ ์ƒํƒœ์ด๋ฏ€๋กœ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด...

    1๋ถ„
  • React ๊ณต๋ถ€ํ•˜๊ธฐ 5 - Reference

    ## Reference (Ref) ํŠน์ • DOM์š”์†Œ์— ์ž‘์—…์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ id๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ, React์—์„œ DOM์— ์ด๋ฆ„์„ ๋‹ค๋Š” ๋ฐฉ์‹์ด ์žˆ๋Š”๋ฐ ์ด๊ฒƒ์ด ๋ฐ”๋กœ ref (Reference)๋‹ค. ๋ฐ˜๋“œ์‹œ, `DOM์— ์ง์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•˜์—ฌ ์กฐ์ž‘์ด ํ•„์š”ํ•  ๋•Œ ๋งŒ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค.` ### ์ปดํผ๋„ŒํŠธ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ ```javascript import React, ...

    2๋ถ„
  • React ๊ณต๋ถ€ํ•˜๊ธฐ 4 - Event

    ## ์ด๋ฒคํŠธ ๋ฆฌ์•กํŠธ์˜ ์ด๋ฒคํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ HTML์˜ ์ด๋ฒคํŠธ์™€ ๋น„์Šทํ•˜์ง€๋งŒ, ์ฃผ์˜์‚ฌํ•ญ์ด ๋ช‡๊ฐ€์ง€ ์žˆ์Šต๋‹ˆ๋‹ค. 1. ์ด๋ฒคํŠธ ๋ช…์€ ์นด๋ฉœ ์ผ€์ด์Šค๋กœ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. `onclick` โ†’ `onClick` 2. ์ด๋ฒคํŠธ์— ์‹คํ–‰ํ•  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ , ํ•จ์ˆ˜ํ˜•ํƒœ์˜ ๊ฐ’์„ ์ „๋‹ฌํ•ด์•ผ ํ•œ๋‹ค. 3. DOM์š”์†Œ์—๋งŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. Custom Component๋Š”...

    2๋ถ„
  • React ๊ณต๋ถ€ํ•˜๊ธฐ 3 - Component

    ## ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ณธ์ ์ธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋ณด์ž. ```javascript import React, {Component} from 'react'; class MyComponent extends Component{ render() { return ( <div className='hello'> ...

    4๋ถ„
  • React ๊ณต๋ถ€ํ•˜๊ธฐ 2 - JSX

    ## Create-react-app ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์‹œ์ž‘ ``` yarn global add create-react-app create-react-app hello-react cd hello-react yarn start ``` ### app.js์˜ ๊ตฌ์กฐ ```javascript import React from 'react'; import logo fr...

    3๋ถ„
  • React ๊ณต๋ถ€ํ•˜๊ธฐ 1 - background

    ## ๋ฆฌ์•กํŠธ ์š”์•ฝ ๊ธฐ์กด์— ๋งŽ์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์ด ์žˆ์—ˆ๋Š”๋ฐ, ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์€ MVC (Model-View-Controller), MVVM(Model-View-View Model), MVW(Model-View-Whatever) ์•„ํ‚คํ…์ณ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค. ![MVC](https://mdn.mozillademos.org/files/1...

    4๋ถ„