Redux: FAQ ์—…๋ฐ์ดํŠธ

์— ๋งŒ๋“  2016๋…„ 05์›” 31์ผ  ยท  51์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: reduxjs/redux

์š”์•ฝ

๋‚˜๋Š” FAQ ์ž‘์„ฑ์˜ ์ดˆ๊ธฐ grunt ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. @gaearon ์ด ์•ฝ๊ฐ„์˜ ํŽธ์ง‘์„ ํ–ˆ๊ณ  TOC์™€ ์งง์€ ์งˆ๋ฌธ ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋Š”๋ฐ ์ง€๊ธˆ๊นŒ์ง€ ํ›Œ๋ฅญํ•œ ๋ฆฌ์†Œ์Šค์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ ์ดํ›„๋กœ @gaearon ์ด ๋งŽ์€ ํ† ๋ก ๊ณผ ๊ธฐ์‚ฌ๋ฅผ

์—…๋ฐ์ดํŠธ

๊ธฐ์กด ์งˆ๋ฌธ์— ์—…๋ฐ์ดํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์ง€๋งŒ ํ˜„์žฌ ๋‹ค๋ฅธ ์ž‘์—…์— ์ง‘์ค‘ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. "์ƒˆ" ํ•ญ๋ชฉ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์œผ๋ฉด ์ •๋ณด, ์ฝ˜ํ…์ธ  ๋ฐ ํŽธ์ง‘๊ณผ ๊ด€๋ จํ•˜์—ฌ ๊ธฐ๊บผ์ด ํ˜‘๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

์ถ”๊ฐ€ ๋Œ€๊ธฐ ์ค‘

์ƒˆ๋กœ์šด ์ฃผ์ œ

์ผ๋ฐ˜์ ์ธ

  • ์–ธ์ œ Redux๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•˜๋‚˜์š”?

    • https://twitter.com/dan_abramov/status/739961787295117312

    • https://twitter.com/dan_abramov/status/739962098030137344

    • https://github.com/markerikson/react-redux-links/blob/master/basic-concepts.md

  • Redux ์‚ฌ์šฉ์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

    • https://github.com/reactjs/redux/issues/1342#issuecomment-183401969

  • Redux๋Š” [Backbone, Angular, MobX]์™€ ์–ด๋–ป๊ฒŒ ๋น„๊ต๋ฉ๋‹ˆ๊นŒ?

    • Redux ๋Œ€ ์ „์—ญ ๋ณ€์ˆ˜

    • https://news.ycombinator.com/item?id=13334978

์ฝ”๋“œ ๊ตฌ์กฐ

  • ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ/์บก์Šํ™”๋œ ๋กœ์ง/๋ชจ๋“ˆ?

    • https://github.com/markerikson/redux-ecosystem-links/blob/master/component-state.md

    • https://github.com/markerikson/react-redux-links/blob/master/redux-techniques.md#encapsulation-and-reusability

    • http://randycoulman.com/blog/

    • https://github.com/slorber/scalable-frontend-with-elm-or-redux

    • http://www.webpackbin.com/VkHniHP6b

  • ์›น ์†Œ์ผ“ ๋ฐ ๊ธฐํƒ€ ์˜๊ตฌ ์—ฐ๊ฒฐ์€ ์–ด๋””์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

    • ๋ฏธ๋“ค์›จ์–ด์—์„œ. https://github.com/markerikson/redux-ecosystem-links/blob/master/middleware-sockets-adapters.md์—์„œ ๊ธฐ์กด ์˜ˆ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์„ฑ๋Šฅ

  • ํŽ˜์ด์ง€ ๋งค๊น€/์บ์‹ฑ?

    • http://stackoverflow.com/questions/33940015/how-to-choose-the-redux-state-shape-for-an-app-with-list-detail-views-and-pagina

    • https://github.com/facebook/relay/issues/720#issuecomment-174050321

    • https://twitter.com/acemarke/status/804071531844423683

    • https://medium.com/@dcousineau/advanced-redux-entity-normalization-f5f1fe2aefc5

    • ๊ธฐ์กด "์ƒํƒœ ํŠธ๋ฆฌ ํฌ๊ธฐ" ์งˆ๋ฌธ ๊ด€๋ จ

๋””์ž์ธ ๊ฒฐ์ •

  • Redux๊ฐ€ ์ž‘์—…๊ณผ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ƒํƒœ๋ฅผ ์ง์ ‘ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

    • https://stackoverflow.com/questions/43640464/why-we-decouple-actions-and-reducers-in-flux-redux-architecture

    • https://medium.com/@mark.erikson/ill-repeat-a-comment-i-ve-made-several-times-now-b4ead0b57a95

    • https://news.ycombinator.com/item?id=14550588

React-Redux

  • ์™œ React-Redux๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๊นŒ?

    • https://www.reddit.com/r/javascript/comments/6hperk/i_use_react_and_redux_but_never_reactredux_what/dj0fywb/

๋‹ค๋ฅธ

  • ์ด ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์–ด๋”˜๊ฐ€์— ๋งž์ถ”์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? https://github.com/reactjs/redux/issues/653
  • "FAQ-๊ฐ€์น˜"๋Š” ๋‹ค์Œ์„ ์–ธ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.

    • https://github.com/reactjs/redux/issues/1751

    • https://github.com/reactjs/redux/issues/1628

    • https://github.com/reactjs/redux/issues/1676

    • https://twitter.com/dan_abramov/status/732543424356864001

  • ์ƒ์šฉ๊ตฌ/์ƒ์„ธ:

    • https://twitter.com/dan_abramov/status/813860965477392385

๊ธฐ์กด ์งˆ๋ฌธ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ

  • ์–ธ์ œ Redux๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜์š”?

    • https://dev.to/dan_abramov/comment/1n2k

  • "๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง"์„ ์–ด๋””์— ๋„ฃ์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

    • https://twitter.com/FwardPhoenix/status/952971237004926977

    • https://github.com/reactjs/redux/issues/2796

์ž์ฃผ๋ฌป๋Š”์งˆ๋ฌธ์€ ์•„๋‹ˆ์ง€๋งŒ ์ƒˆ๋กœ์šด ์ด์Šˆ๋ฅผ ์ œ๊ธฐํ•˜๊ธฐ ๋ณด๋‹ค๋Š” ์—ฌ๊ธฐ์— ๋‚˜๋งŒ์˜ ๋ฉ”๋ชจ๋ฅผ ๋‚จ๊ธธ๊ฒŒ์š”. "Beyond CombineReducers" ํŽ˜์ด์ง€์—๋Š” state.posts.posts ์—์„œ์™€ ๊ฐ™์ด "์ด์ค‘ ์ค‘์ฒฉ ์ƒํƒœ"์— ๋Œ€ํ•œ ์–ธ๊ธ‰์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ‚ค๋ฅผ ์ •์˜ํ•˜๋Š” ์ดˆ๊ธฐ ์ƒํƒœ์™€ ํ‚ค๊ฐ€ ์ง€์ •๋œ ์Šฌ๋ผ์ด์Šค ๋ฆฌ๋“€์„œ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. . ํ™•์‹คํžˆ ์ผ๋ฐ˜์ ์ธ ์‹ค์ˆ˜์ž…๋‹ˆ๋‹ค.

์™„์ „ํ•œ

์ƒˆ๋กœ์šด ์ฃผ์ œ

๋ถˆ๋ณ€์„ฑ

  • Immutable.js๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜์š”?

    • https://www.reddit.com/r/javascript/comments/4rcqpx/dan_abramov_redux_is_not_an_architecture_or/d51g4k4?context=3

    • https://github.com/markerikson/react-redux-links/blob/master/immutable-data.md#immutability-and-react

    • https://github.com/markerikson/react-redux-links/blob/master/react-performance.md#immutable-data

  • ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋„๋ก ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

    • http://stackoverflow.com/questions/37531909/redux-why-is-avoiding-mutations-such-a-fundamental-part-of-using-it

    • http://stackoverflow.com/questions/35970515/how-is-state-immutability-actually-used-in-redux

๊ธฐ์กด ์งˆ๋ฌธ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ

  • Redux๋ฅผ ์–ธ์ œ/์™œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜์š”?

    • https://twitter.com/dan_abramov/status/733742952657342464

    • https://twitter.com/dan_abramov/status/732912085840089088

    • https://twitter.com/dan_abramov/status/725089243836588032

    • https://twitter.com/dan_abramov/status/737036433215610880

    • http://stackoverflow.com/questions/36631761/when-should-i-add-redux-to-a-react-app

    • https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367#.8qxj336yv

    • http://stackoverflow.com/questions/39260769/redux-vs-plain-react/39261546#39261546

    • https://twitter.com/dan_abramov/status/802564042648944642

    • https://www.reddit.com/r/reactjs/comments/5exfea/feedback_on_my_first_redux_app/dagglqp/

    • http://stackoverflow.com/questions/39260769/redux-vs-plain-react/39261546#39261546

    • https://twitter.com/acemarke/status/793862722253447168

    • https://twitter.com/dan_abramov/status/801489026687651840

  • Redux ์ƒํƒœ ๋Œ€ React ์ƒํƒœ:

    • https://discuss.reactjs.org/t/redux-and-global-state-vs-local-state/4187/8

    • http://stackoverflow.com/questions/35328056/react-redux-should-all-component-states-be-kept-in-redux-store/35328862#35328862

    • https://www.reddit.com/r/reactjs/comments/4w04to/when_using_redux_should_all_asynchronous_actions/d63u4o8

    • https://twitter.com/dan_abramov/status/749710501916139520

    • https://twitter.com/dan_abramov/status/736310245945933824

  • ์ง๋ ฌํ™” ๊ฐ€๋Šฅํ•œ ์ €์žฅ์†Œ ๋ฐ์ดํ„ฐ:

    • https://github.com/reactjs/redux/issues/1793

  • ์ค‘์ฒฉ ๋ฐ์ดํ„ฐ:

    • ํŠธ๋ฆฌ๋ทฐ ์˜ˆ์‹œ: https://github.com/reactjs/redux/pull/1269

    • http://stackoverflow.com/questions/32798193/how-to-handle-tree-shaped-entities-in-redux-reducers

    • https://github.com/reactjs/redux/issues/1824

    • http://stackoverflow.com/questions/38012852/users-sees-one-part-of-deeply-nested-state-should-visible-properties-be-at-top/38017227#38017227

    • https://medium.com/@adamrackis/querying-a-redux-store-37db8c7f3b0f

  • ํ–‰์œ„:

    • https://github.com/reactjs/redux/issues/533 ์— ์–ธ๊ธ‰๋œ ๋งํฌ ์ค‘ ์ผ๋ถ€ ?

    • ์ผ๊ด„ ์ž‘์—…: https://github.com/manafair/redux-batch

  • ํŒŒ์ผ ๊ตฌ์กฐ:

    • http://stackoverflow.com/questions/37111300/redux-why-not-put-actions-and-reducer-in-same-file/37116923

    • https://github.com/reactjs/redux/issues/1618

    • https://github.com/mxstbr/react-boilerplate/issues/27

    • https://github.com/reactjs/react-redux/issues/210#issuecomment-245113164

  • ์Šค์ผ€์ผ๋ง:

    • http://stackoverflow.com/questions/34782249/can-a-react-redux-app-really-scale-as-well-as-say-backbone-even-with-reselect

    • https://github.com/reactjs/react-redux/issues/407

    • https://github.com/reactjs/react-redux/pull/416

    • http://stackoverflow.com/questions/37264415/how-to-optimize-small-updates-to-props-of-nested-component-in-react-redux

    • http://somebody32.github.io/high-performance-redux/

    • https://github.com/reactjs/react-redux/issues/269

    • https://github.com/reactjs/redux/issues/1751

    • https://twitter.com/dan_abramov/status/720219615041859584

  • ๋‹ค์ค‘ ์žฌ๋ Œ๋”๋ง:

    • https://github.com/reactjs/redux/pull/1813

    • https://github.com/manafair/redux-batch

  • ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์€ ์–ด๋””์— ์žˆ์Šต๋‹ˆ๊นŒ?

    • https://github.com/reactjs/redux/issues/384#issuecomment-127393209 (๋ฆฌ๋“€์„œ์— ๋งŽ์„์ˆ˜๋ก ์‹œ๊ฐ„ ์—ฌํ–‰์„ ํ†ตํ•ด ๋” ๋งŽ์ด ํŽธ์ง‘ํ•˜๊ณ  ์žฌ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค)

    • http://blog.isquaredsoftware.com/2017/05/idiomatic-redux-tao-of-redux-part-2/#thick-and-thin-reducers

  • ์—ฌ๋Ÿฌ ๋””์ŠคํŒจ์น˜

    • https://twitter.com/intelligibabble/status/800103510624727040

    • https://twitter.com/dan_abramov/status/800310164792414208

    • http://blog.isquaredsoftware.com/2017/01/idiomatic-redux-thoughts-on-thunks-sagas-abstraction-and-reusability/#multiple-dispatching

  • Redux๊ฐ€ ๊ตฌ๋…์ž์—๊ฒŒ ์ƒํƒœ๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

    • #580 ์™ธ ๋‹ค์ˆ˜

    • #2214(๋ธŒ๋ ˆ์ดํฌ ๋””๋ฐ”์šด์‹ฑ)

    • ํ˜„์žฌ "์Šคํ† ์–ด ์„ค์ •"์—์„œ ๋ถ€๋ถ„์ ์œผ๋กœ ๋‹ต๋ณ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์–ด๋””๋กœ ๊ฐ€๋Š”์ง€ ๊ฒฐ์ •ํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • Redux๊ฐ€ ์•ก์…˜๊ณผ ๋ฆฌ๋“€์„œ์— ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

    • https://github.com/reactjs/redux/issues/1171#issuecomment-196819727

  • ๋ฏธ๋“ค์›จ์–ด ์„œ๋ช…์ด ์ปค๋ง์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

    • #55, #534, #784, #922, #1744

  • applyMiddleware ๊ฐ€ dispatch ํด๋กœ์ €๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

    • https://github.com/reactjs/redux/pull/1592

    • https://github.com/reactjs/redux/issues/2097

  • combineReducers ์žฌ๊ท€/์ œํ•œ?

    • #1768 ์™ธ

  • mapDispatch ์—์„œ getState ๋˜๋Š” mapState ๋ฐ˜ํ™˜ ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

    • https://github.com/reactjs/react-redux/issues/237
  • "ํ•˜๋‚˜์˜ ์ƒํƒœ ํŠธ๋ฆฌ"๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ?

    • https://stackoverflow.com/questions/39943762/can-a-redux-store-lead-to-a-memory-leak/40549594#40549594
    • https://stackoverflow.com/questions/42489557/redux-and-all-the-application-state/42491766#42491766
    • https://stackoverflow.com/questions/44956071/memory-usage-concern-with-controlled-components?noredirect=1&lq=1
  • ์•ก์…˜ ํฌ๋ฆฌ์—์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

    • https://www.reddit.com/r/reactjs/comments/54k8js/redbox_redux_action_creation_made_simple/d8493z1?context=4

    • http://blog.isquaredsoftware.com/2016/10/idiomatic-redux-why-use-action-creators/

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ก์…˜ ์ƒ์„ฑ์ž์™€ ๋ฆฌ๋“€์„œ ๊ฐ„์˜ ๋…ผ๋ฆฌ ๋ถ„ํ•  ๊ณผ ๊ด€๋ จ

๋‚ด๊ฐ€ ์ž์ฃผ ๋ณด๋Š” ๋˜ ๋‹ค๋ฅธ ์งˆ๋ฌธ์€ ์™ธ๋ถ€์—์„œ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” redux ๋ชจ๋“ˆ(์•ก์…˜ ์ƒ์„ฑ๊ธฐ, ๊ฐ์†๊ธฐ, ๊ตฌ์„ฑ ์š”์†Œ)์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ๊ฐ™์€ ํŽ˜์ด์ง€์— ๊ฐ™์€ ์œ ํ˜•์˜ ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ์ด ์žˆ์„ ๋•Œ ์ž‘์—… ์ด๋ฆ„ ์ถฉ๋Œ์„ ํ”ผํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ createStore์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ์†๊ธฐ ์ด๋ฆ„์„ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  51 ๋Œ“๊ธ€

๋˜ํ•œ ์ด๊ฒƒ์€ ๋Œ€์ค‘์ ์ด๊ณ  ๋ช…ํ™•ํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

https://twitter.com/dan_abramov/status/736310245945933824

๊ทธ ์ด๋ฏธ์ง€๋ฅผ ๋ณด์•˜๊ณ  ๊ทธ๊ณณ์—์„œ ์ผ์–ด๋‚˜๋Š” ์ผ์„ ๋ถ€๋ถ„์ ์œผ๋กœ๋งŒ ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ˆ ์˜๋„๋‚˜ ์„ค๋ช…์„ ์ž˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

"dispatch" ๋ฐ "reducing"์ด ์‹ค์ œ๋กœ ์ƒ์œ„ ๊ตฌ์„ฑ ์š”์†Œ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์„ ์ œ์™ธํ•˜๊ณ  "์—ฐ๊ฒฐ๋œ ์œ ์‚ฌ" ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋ Œ๋”๋งํ•˜๋ ค๋Š” ์˜๋„์ž…๋‹ˆ๊นŒ?

๋˜ํ•œ ํ•ด๋‹น ์Šค๋‹ˆํŽซ์— store.replaceReducer() ์˜ ์‹ค์ œ ์ €์žฅ์†Œ๋‚˜ ์‚ฌ์šฉ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์†๊ธฐ๋ฅผ "๋ถ„๋ฆฌ"ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ์•ฝ๊ฐ„์˜ ์ดํ•ด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ƒ์ ์˜ ๋ฆฌ๋“€์„œ ๊ตฌ์กฐ ์ปจํ…์ŠคํŠธ ์™ธ๋ถ€์—์„œ "๋ฆฌ๋“€์„œ์™€ ๊ฐ™์€" ๊ธฐ๋Šฅ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๊นŒ?

๊ฐ€๋Šฅํ•œ ์ƒˆ๋กœ์šด FAQ ์„น์…˜ ๋˜๋Š” ๋””์ž์ธ ๋ฌธ์„œ: "Redux๊ฐ€ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์„ค๊ณ„๋œ ์ด์œ ". ์˜ˆ์ œ ์ฃผ์ œ: store.subscribe() ์— ์•ก์…˜์ด๋‚˜ ์ƒํƒœ๊ฐ€ ์ธ์ˆ˜๋กœ ํฌํ•จ๋˜์ง€ ์•Š๋Š” ์ด์œ , ๋ฏธ๋“ค์›จ์–ด๊ฐ€ ์ค‘์ฒฉ ํ•จ์ˆ˜์ธ ์ด์œ  ๋“ฑ

๊ทธ ์ด๋ฏธ์ง€๋ฅผ ๋ณด์•˜๊ณ  ๊ทธ๊ณณ์—์„œ ์ผ์–ด๋‚˜๋Š” ์ผ์„ ๋ถ€๋ถ„์ ์œผ๋กœ๋งŒ ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ˆ ์˜๋„๋‚˜ ์„ค๋ช…์„ ์ž˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

"dispatch" ๋ฐ "reducing"์ด ์‹ค์ œ๋กœ ์ƒ์œ„ ๊ตฌ์„ฑ ์š”์†Œ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์„ ์ œ์™ธํ•˜๊ณ  "์—ฐ๊ฒฐ๋œ ์œ ์‚ฌ" ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋ Œ๋”๋งํ•˜๋ ค๋Š” ์˜๋„์ž…๋‹ˆ๊นŒ?

๋˜ํ•œ ํ•ด๋‹น ์Šค๋‹ˆํŽซ์— store.replaceReducer()์˜ ์‹ค์ œ ์ €์žฅ์†Œ ๋˜๋Š” ์‚ฌ์šฉ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์†๊ธฐ๋ฅผ "๋ถ„๋ฆฌ"ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ์•ฝ๊ฐ„์˜ ์ดํ•ด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ƒ์ ์˜ ๋ฆฌ๋“€์„œ ๊ตฌ์กฐ ์ปจํ…์ŠคํŠธ ์™ธ๋ถ€์—์„œ "๋ฆฌ๋“€์„œ์™€ ๊ฐ™์€" ๊ธฐ๋Šฅ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๊นŒ?

์•„์ด๋””์–ด๋Š” (prevState, action) => nextState ์˜ redux ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ „์šฉ ์ €์žฅ์†Œ ๊ฐ์ฒด๊ฐ€ ์žˆ๋Š” redux ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. React ๊ตฌ์„ฑ ์š”์†Œ ์ƒํƒœ๋Š” ๊ตฌ์„ฑ ์š”์†Œ์— ๋กœ์ปฌ์ธ ์ €์žฅ์†Œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ React setState๋ฅผ ํ†ตํ•ด ์ƒํƒœ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ง์ ‘ ๋””์ŠคํŒจ์น˜๋ฅผ โ€‹โ€‹๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

๋„ค, ์ œ๊ฐ€ ๋ณด๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ store.replaceReducer() ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ €๋ฅผ ์ •๋ง๋กœ ๋˜์ง„ ๊ฒƒ์€ "๋ถ„๋ฆฌ" ๋ฌธ๊ตฌ์˜€์Šต๋‹ˆ๋‹ค.

์•ก์…˜ ์ƒ์„ฑ์ž์™€ ๋ฆฌ๋“€์„œ ๊ฐ„์˜ ๋…ผ๋ฆฌ ๋ถ„ํ•  ๊ณผ ๊ด€๋ จ

๋‚ด๊ฐ€ ์ž์ฃผ ๋ณด๋Š” ๋˜ ๋‹ค๋ฅธ ์งˆ๋ฌธ์€ ์™ธ๋ถ€์—์„œ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” redux ๋ชจ๋“ˆ(์•ก์…˜ ์ƒ์„ฑ๊ธฐ, ๊ฐ์†๊ธฐ, ๊ตฌ์„ฑ ์š”์†Œ)์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ๊ฐ™์€ ํŽ˜์ด์ง€์— ๊ฐ™์€ ์œ ํ˜•์˜ ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ์ด ์žˆ์„ ๋•Œ ์ž‘์—… ์ด๋ฆ„ ์ถฉ๋Œ์„ ํ”ผํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ createStore์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ์†๊ธฐ ์ด๋ฆ„์„ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์˜ˆ, FAQ์˜ "๋””์ž์ธ ๊ฒฐ์ •" ์„น์…˜์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

@reactjs/redux์— ๋Œ€ํ•œ ์งˆ๋ฌธ: FAQ๋ฅผ ์ฃผ์ œ๋ณ„๋กœ ๋ณ„๋„์˜ ํŽ˜์ด์ง€๋กœ ์ž ์žฌ์ ์œผ๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๋…ผ์˜ ์ค‘์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ํ•œ ํŽ˜์ด์ง€๊ฐ€ ๊ฝค ๊น๋‹ˆ๋‹ค. ์–ด๋–ค ์˜๊ฒฌ?

๋ชฉ์ฐจ์— ์žˆ๋Š” ๋ชจ๋“  ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋งํฌ ๋ชฉ๋ก์ด ์žˆ๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๊ฒƒ์„ ์œ ์ง€ํ•œ๋‹ค๋ฉด ์ฃผ์ œ๋ฅผ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ๋‹จ์ ์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์˜ˆ, ์ €๋Š” FAQ.html์— ์™„์ „ํ•œ ๋ชฉ์ฐจ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ๊ฐ ํŽ˜์ด์ง€์— ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๋ณ„๋„์˜ ๋ชฉ์ฐจ๋ฅผ ํฌํ•จํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ๋“ค์„ ์ •๋ฆฌํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์•„๋งˆ๋„ ๊ด€๋ จ ์งˆ๋ฌธ์— ๋Œ€ํ•œ Google ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ์ตœ์ƒ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์ž‘์—…์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ณ„ํš์€ ๊ณ„์† ์ง„ํ–‰ํ•˜์—ฌ ํ˜„์žฌ ๋ฒ”์ฃผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ถ„ํ• ํ•œ ๋‹ค์Œ ๊ธฐ์กด ์งˆ๋ฌธ์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ์ƒˆ ์ž๋ฃŒ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์Šคํ† ์–ด ์ธํ•ธ์„œ์— ๋Œ€ํ•ด ๋” ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฝ”๋“œ ๋ถ„ํ• ์„ ์œ„ํ•œ ์ฃผ์ž… ๊ฐ€๋Šฅํ•œ ๋ฆฌ๋“€์„œ. ๋‘˜ ๋‹ค์˜ ์˜ˆ๋Š” ๋งค์šฐ ์ œํ•œ์ ์ด๋ฉฐ ๋”ฐ๋ฅด๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

@๋ฉ”๋“œ๋กœ์Šค : ํ . ๋‘˜ ๋‹ค ํฅ๋ฏธ๋กœ์šด ์ฃผ์ œ์ด์ง€๋งŒ "์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ"์€ ๊ทธ๋‹ค์ง€ ๋งŽ์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ช‡ ์ฃผ ์ „์— Twitter์—์„œ ์Šคํ† ์–ด ์ธํ•ธ์„œ์— ๋Œ€ํ•œ ์ข‹์€ ํ† ๋ก ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค: https://twitter.com/acemarke/status/778813095221170176 . ๊ธฐ๋ณธ์ ์œผ๋กœ, ๊ทธ๊ฒƒ๋“ค์€ ๊ฑฐ์˜ ํŒŒ์›Œ ์œ ์ € ๊ธฐ๋Šฅ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ง€๊ธˆ ๋ฌธ์„œ์—์„œ ๋ฐ˜ ๊ณ ์˜์ ์œผ๋กœ ํ˜ธ์ถœ๋˜์ง€ ์•Š์œผ๋ฉฐ ๊ด€๋ จ ๋‚ด๋ถ€๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์ด ์ง„ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. #1813์˜ ํ† ๋ก ์—์„œ ๊ทธ๋“ค์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ๊ด€๋ จ ์žฌ์ž‘์—… ๋ฌธ์ œ๋Š” #1702์ž…๋‹ˆ๋‹ค.

์ฃผ์ž… ๊ฐ€๋Šฅํ•œ ๊ฐ์†๊ธฐ์˜ ๊ฒฝ์šฐ https://github.com/mxstbr/react-boilerplate ๋ฐ https://github.com/davezuko/react-redux-starter-kit ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ณ  ์‹ถ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด Redux ์• ๋“œ์˜จ ๋ชฉ๋ก ์—๋Š” ๊ด€๋ จ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์„ฑ ์š”์†Œ ์ƒํƒœ ๋ฐ ๊ฐ์†๊ธฐ ๊ด€๋ฆฌ ์™€ ๊ด€๋ จ๋œ ๋‹ค์–‘ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜ ์ข‹์€ ์ง„์ „. FAQ๋ฅผ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ๋ณ„๋„์˜ ํŽ˜์ด์ง€๋กœ ๋‚˜๋ˆ„๊ณ  ๊ธฐ์กด ์งˆ๋ฌธ์— ๋Œ€ํ•ด ๊ณ„ํš๋œ ์—…๋ฐ์ดํŠธ์˜ ์•ฝ ์ ˆ๋ฐ˜์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€๋Š” ๋‚ด์ผ ๋…ธ๋ ค๋ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  "split+update" ๋ถ€๋ถ„์ด ์ด์ œ ์žˆ์Šต๋‹ˆ๋‹ค(#2009 ์ฐธ์กฐ).

๋‚˜๋Š” ์ƒˆ๋กœ์šด ์งˆ๋ฌธ์„ ๋‹ค๋ฃจ๊ธฐ ์ „์— ํ•˜๊ณ  ์‹ถ์€ ๋ช‡ ๊ฐ€์ง€ ๋‹ค๋ฅธ ์ผ์ด ์žˆ์œผ๋ฏ€๋กœ, ์ง€๊ธˆ์€ ์ด๊ฒƒ์„ ์—ด์–ด ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ ๋ช‡ ์ฃผ ํ›„์— ๋‹ค์‹œ ๋Œ์•„์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์ค‘ ์ผ๋ถ€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๊ธฐ์— ๊ฐ€์žฅ ์ข‹์€ ์žฅ์†Œ์— ๋Œ€ํ•œ ์ƒ๊ฐ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์‹ค์ œ๋กœ ์งˆ๋ฌธ์„ ๋ฐ›๋Š” ๋นˆ๋„์™€ ๊ด€๋ จํ•˜์—ฌ ์ƒˆ๋กœ์šด "๋””์ž์ธ ๊ฒฐ์ •" ๋ฒ”์ฃผ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ ์ ˆํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๊ทธ๊ฒƒ์€ ๋˜ํ•œ ์ƒ๋‹นํžˆ ๊ธฐ์ˆ ์ ์ธ ์ธก๋ฉด์œผ๋กœ ๋ฐ”๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์‰ฌ์šด ๊ณณ์€ "์ผ๋ฐ˜" ์„น์…˜์— ๋ช‡ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ์งˆ๋ฌธ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์ œ๊ฐ€ ๋‚˜์—ดํ•œ ์•„์ด๋””์–ด๋Š” "Redux๋Š” ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?", "Redux๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?", "Redux๋Š” [Angular/Backbone/MobX]์™€ ์–ด๋–ป๊ฒŒ ๋น„๊ต๋ฉ๋‹ˆ๊นŒ?"์ž…๋‹ˆ๋‹ค.

์ฆ‰, ๋ˆˆ๊ธธ์„ ๋„๋Š” ํŠน์ • ์งˆ๋ฌธ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋งž์ถ”๋ ค๊ณ  ํ•˜๋Š” ํŠน์ • ๊ธฐํ•œ์€ ์—†์œผ๋ฉฐ FAQ์—์„œ ์‹ค์ œ๋กœ ๋‹ค๋ฃจ๊ณ  ์‹ถ์€ ์งˆ๋ฌธ๋“ค์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋‹ต๋ณ€์ด ์–ด๋–ค ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐ€์•ผ ํ•˜๋Š”์ง€, ํŽธ์ง‘ ๋ฐ ์ถ”๊ฐ€ ์ •๋ณด ๋งํฌ์— ๋Œ€ํ•ด ํ•จ๊ป˜ ์ผํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์ €๋Š” ์ฃผ๋กœ ํ˜„์žฌ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ FAQ ํ•ญ๋ชฉ์„ ์ง์ ‘ ์ž‘์„ฑํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋‚˜๋ฅผ ์œ„ํ•ด ๋‹ค์‹œ ๋ฒ„๋„ˆ.

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ข‹์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. _์–ธ์ œ/์™œ Redux_ ๋ฐ _Redux ์ƒํƒœ ๋Œ€ React ์ƒํƒœ_๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋‚ด๊ฐ€ ์ดˆ์•ˆ์„ ์ž‘์„ฑํ•˜๊ณ  ๊ฒ€ํ† ํ•  ์ƒˆ PR์„ ์ถ”๊ฐ€ํ•˜๊ธฐ๋ฅผ ์›ํ•˜์‹ญ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ์„ ํ˜ธํ•˜๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์•„... ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋Œ“๊ธ€์ด ๋ฌด์—‡์„ ๋งํ•˜๋ ค๋Š”์ง€ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‚ด ๋ชฉํ‘œ๋Š” ๊ธฐ์กด ์งˆ๋ฌธ์— ์ถ”๊ฐ€ ๋งํฌ์™€ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•œ ๋‹ค์Œ ์ƒˆ๋กœ์šด ์งˆ๋ฌธ+๋‹ต๋ณ€์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. "๊ธฐ์กด ์งˆ๋ฌธ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ" ์ œ๋ชฉ, ์ฆ‰ "์ƒˆ ๋งํฌ ์ถ”๊ฐ€" ๋ถ€๋ถ„์—์„œ ์ด๋ฏธ ๋ชจ๋“  ์ž‘์—…์„ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋„์›€์„ ๊ตฌํ•˜๊ณ  ์žˆ๋Š” "์ƒˆ๋กœ์šด ์งˆ๋ฌธ+๋‹ต๋ณ€ ์ž‘์„ฑ" ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

์ž ์žฌ์ ์ธ ์ƒˆ ์งˆ๋ฌธ ๋ชฉ๋ก์€ "์ƒˆ ์ฃผ์ œ" ์ œ๋ชฉ ์•„๋ž˜์— ์žˆ์Šต๋‹ˆ๋‹ค("Redux๋Š” ์–ธ์ œ ๋ฐฐ์›Œ์•ผ ํ•˜๋‚˜์š”?"๋กœ ์‹œ์ž‘). ํ•ด๋‹น ์„น์…˜์— ๋‚˜์—ด๋œ ๋ชจ๋“  ํ•ญ๋ชฉ์€ ์ฒ˜๋ฆฌํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์›Œํฌํ”Œ๋กœ: Redux ์ €์žฅ์†Œ๋ฅผ ๋ถ„๊ธฐํ•˜๊ณ  ๋ถ„๊ธฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์ดˆ์•ˆ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— WIP ํŒŒ์ผ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ๋จผ์ € ๊ฒŒ์‹œํ•œ ๋‹ค์Œ ์ดˆ์•ˆ์ด ์ค€๋น„๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋ฉด PR์„ ์ œ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž, _Immutable.js๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?_๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Immutable์— ๋Œ€ํ•œ ์ผ๋ จ์˜ ์ž์Šต์„œ ์ž‘์„ฑ์„ ๋ง‰ ๋งˆ์ณค๊ณ  ๋งค์ผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ์— ๋งค์šฐ ์ต์ˆ™ํ•ฉ๋‹ˆ๋‹ค.

์ข‹์€ ์†Œ๋ฆฌ! Reddit์— ๋Œ€ํ•œ ๋งํฌ๋œ ์˜๊ฒฌ์€ ์ผ๋ถ€ ์ ˆ์ถฉ์ ์— ๋Œ€ํ•œ ์ œ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ถˆ๋ณ€ ๋ฐ์ดํ„ฐ ๋ฐ React ์„ฑ๋Šฅ์— ๋Œ€ํ•œ React/Redux ๋งํฌ ๋ชฉ๋ก์˜ ๊ด€๋ จ ์„น์…˜์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๋ฅผ ์ถ”๊ฐ€ ๋ฆฌ์†Œ์Šค๋กœ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

"Immutable.js" ์งˆ๋ฌธ์€ ์•„๋งˆ๋„ ์ƒˆ๋กœ์šด ๋ฒ”์ฃผ์— ์†ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ ๋ฒ”์ฃผ๊ฐ€ ํ˜„์žฌ ๋ฌด์—‡์ด์–ด์•ผ ํ•˜๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ธŒ๋žœ์น˜์—์„œ ์ž ์‹œ ๋™์•ˆ "Immutable Data" ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ํ•ด๋‹น ํŽ˜์ด์ง€์—์„œ ์“ฐ๊ธฐ ์‹œ์ž‘ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

@markerikson First PR์€ ์ด์ œ ๊ฒ€ํ† ํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค: #2120

@bundance : ์ข‹์•„์š”, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์˜ค๋Š˜ ์ €๋…์ด๋‚˜ ๊ธˆ์š”์ผ์— ํ•œ๋ฒˆ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ Redux์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋†’์ด๋Š” ๋ฉ‹์ง„ ๋ฐฉ๋ฒ•์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ์ˆœ์œ„๊ฐ€ ์žˆ๋Š” ๊ฒƒ, ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ด๋ฏธ ํ•˜๊ณ  ์žˆ์ง€ ์•Š์€ ๊ฒƒ ๋“ฑ

@mateo-io : ๋„ค, ๋„์™€์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋ฌธ์ œ ์ƒ๋‹จ์˜ ๋ชฉ๋ก์„ ๋ณด๋ฉด "์ถ”๊ฐ€ ๋Œ€๊ธฐ ์ค‘" ์„น์…˜ ์•„๋ž˜์˜ ๋ชจ๋“  ํ•ญ๋ชฉ์€... ์–ด... ์ถ”๊ฐ€ ๋Œ€๊ธฐ ์ค‘์ž…๋‹ˆ๋‹ค. ๋ชจ๋‘ ๊ณต์ •ํ•œ ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ "๊ธฐ์กด ์งˆ๋ฌธ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ" ํ•ญ๋ชฉ์— ๋Œ€ํ•ด ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "์–ธ์ œ Redux๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜์š”?"์— ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์€ ๋งํฌ๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์งˆ๋ฌธ. ๊ทธ๊ฒƒ๋“ค์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. FAQ์˜ ํ•ด๋‹น ์งˆ๋ฌธ ๋์— ๊ธฐ์กด ๋ชฉ๋ก์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ฐ ๋งํฌ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์„ค๋ช…์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์ข‹์€ ์ถœ๋ฐœ์ ์€ "์•ก์…˜ ์ œ์ž‘์ž๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?"์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ์งˆ๋ฌธ ์ค‘ ํ•˜๋‚˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” " ์–ธ์ œ Redux๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?".

๋Œ€์‹  ๋‹ค๋ฅธ ์ผ์„ ๋จผ์ € ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์‹ถ์€ ์ฃผ์ œ ๋ชฉ๋ก์„ ์‚ดํŽด๋ณด๊ณ  ์–ด๋–ค ์„น์…˜์—์„œ ์ž‘์—…ํ•˜๊ณ  ์‹ถ์€์ง€ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

@markerikson 2370 for faq ์ผ๋ฐ˜ ์„น์…˜

"์ฝ”๋“œ ๊ตฌ์กฐ" ์„น์…˜์— ์ƒˆ ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๋•๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!

@gribnoysup : ์ข‹์•„์š”, ๋“ฃ๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค! ๊ณ„์†ํ•ด์„œ ์ €์žฅ์†Œ์˜ ๋ถ„๊ธฐ์™€ ํŽธ์ง‘์„ ์œ„ํ•œ ๋ถ„๊ธฐ๋ฅผ ๋งŒ๋“ค๊ณ  "์ฝ”๋“œ ๊ตฌ์กฐ" FAQ ํŒŒ์ผ ์—…๋ฐ์ดํŠธ๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”. ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” "๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์–ด๋””์— ๋‘˜ ๊ฒƒ์ธ๊ฐ€?"๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด๊ฐ€ ๋‚˜์—ดํ•œ ๋ช‡ ๊ฐœ์˜ ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์งˆ๋ฌธ. ๊ฑฐ๊ธฐ์—์„œ "์•ก์…˜ ์ œ์ž‘์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ "์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์งˆ๋ฌธ/๋‹ต๋ณ€์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ "์บก์Šํ™” ๋…ผ๋ฆฌ".

@markerikson ์ฝ”๋“œ ๊ตฌ์กฐ FAQ ์„น์…˜ https://github.com/reactjs/redux/pull/2494์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.

@markerikson ์ด ์ž‘์—…์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. "์•ก์…˜ ํฌ๋ฆฌ์—์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?" ์•ˆ๊ฑด. ๊ทธ๊ฒƒ์ด ๋‹น์‹ ์—๊ฒŒ ๋” ๋‚ซ๋‹ค๋ฉด ๋‹ค๋ฅธ ๊ณณ์—์„œ ์‹œ์ž‘ํ•˜๊ฒŒ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.

@maxhallinan : ๋„ค, ์ข‹์Šต๋‹ˆ๋‹ค! ๊ณ„์†ํ•ด์„œ ์ƒˆ FAQ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ์ดˆ์•ˆ์„ ์ž‘์„ฑํ•˜๊ณ  PR์„ ์ œ์ถœํ•˜๋ฉด ๊ฑฐ๊ธฐ์„œ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”!

@markerikson ๋‚˜๋„ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@markerikson ๋””์ž์ธ ๊ฒฐ์ •์— ๋Œ€ํ•œ FAQ ์„น์…˜ #2528 ์— ๋Œ€ํ•œ PR์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

@sbakkila : ์ข‹์•„์š”, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋‚ด์ผ ๋ฐค์ด๋‚˜ ์ˆ˜์š”์ผ์— ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

@Fyre91 : ๋” ๋นจ๋ฆฌ

@markerikson ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ ค์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. "์•ก์…˜ ํฌ๋ฆฌ์—์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ "์— ๋Œ€ํ•œ PR #2535๋ฅผ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ž‘์—… FAQ ์„น์…˜์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด PR #2537์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค. FWIW, ์ด ๋ฌธ์ œ ์„ค๋ช…์˜ ์—…๋ฐ์ดํŠธ ๋ชฉ๋ก์— ์žˆ๋Š” ๋‹ค๋ฅธ ๋งํฌ๋Š” ์ด๋ฏธ ์ถ”๊ฐ€๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ด PR์— ํฌํ•จ์‹œ์ผฐ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” "์–ธ์ œ Redux๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•˜๋‚˜์š”?"๋กœ ๋„˜์–ด๊ฐˆ ์ƒ๊ฐ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์งˆ๋ฌธ์€ ํŠนํžˆ React์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด Redux๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๋•Œ Redux๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ด๋ฏธ ๋‹ต๋ณ€ํ•œ "์–ธ์ œ Redux๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜์š”?"์™€ ์ค‘๋ณต๋ฉ๋‹ˆ๋‹ค.

@maxhallinan : ์–ด, React์™€ ๊ด€๋ จํ•ด์„œ๋Š” _sort_์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋„ค, "์–ธ์ œ Redux๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?"์™€ _์ผ๋ถ€_ ์ค‘๋ณต๋˜์ง€๋งŒ ์ž์ฒด FAQ ํ•ญ๋ชฉ์„ ๋ณด์ฆํ•  ๋งŒํผ ์ถฉ๋ถ„ํžˆ ๋ช…ํ™•ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@markerikson ์ข‹์•„, ๋‚˜๋Š” ํ•˜๋‚˜์˜ ์ƒํƒœ ํŠธ๋ฆฌ ์„ฑ๋Šฅ FAQ๋ฅผ ๋‹ค๋ฃฐ ๊ฒƒ์ด๋‹ค.

@Fyre91 :

@markerikson ๋„ค , ์ข‹์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. "์–ธ์ œ Redux๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•˜๋‚˜์š”?"๋ฅผ ๋“ฃ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@markerikson ๋‹ค์Œ์— ๋Š” 'React-Redux๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ '์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

@markerikson ๋‹ค์Œ์€ ์„ฑ๋Šฅ์—์„œ ํŽ˜์ด์ง€ ๋งค๊น€/์บ์‹ฑ ํ•ญ๋ชฉ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ํ™•์ธ์„ ์œ„ํ•ด ์‹ค์ œ ์งˆ๋ฌธ์€ "๋ฉ”๋ชจ๋ฆฌ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค์ง€ ์•Š๊ณ  ํŽ˜์ด์ง€๋ฅผ ๋งค๊ธด ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?"์ž…๋‹ˆ๋‹ค.

@maxhallinan : ๋Œ€๋žต

์†”์งํžˆ ๋งํ•ด์„œ ๋‚ด๊ฐ€ ๊ทธ ํ•ญ๋ชฉ์„ ์ผ์„ ๋•Œ ๋ฌด์Šจ ์ƒ๊ฐ์„ ํ–ˆ๋Š”์ง€ _์ •ํ™•ํžˆ_ ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ•˜์ง€๋งŒ, ๊ทธ ๋งํฌ๊ฐ€ ๋‹ค๋ฃจ๊ณ  ์žˆ๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์ •๊ทœํ™”๋œ ๋ฐ์ดํ„ฐ์˜ ํ•˜์œ„ ์ง‘ํ•ฉ ์ถ”์ ์— ๋Œ€ํ•œ ํ›Œ๋ฅญํ•œ ๊ฒŒ์‹œ๋ฌผ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํ•„์š”ํ•˜๋‹ค๊ณ  ๋Š๋ผ๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐœ๋ณ„ ์งˆ๋ฌธ ํ•ญ๋ชฉ์œผ๋กœ ์‰ฝ๊ฒŒ ๋ฐ”๋€” ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์„œ ๋ณด๊ณ  ์‹ถ์€ ๊ฒƒ์ด ์ •ํ™•ํžˆ ๋ฌด์—‡์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฃผ์ œ๋ฅผ ์ฐ”๋Ÿฌ๋ณด๊ณ  ๋ฌด์—‡์„ ์ƒ๊ฐํ•ด ๋ƒˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋Ÿฌ๋ฉด ์šฐ๋ฆฌ๊ฐ€ ๊ฑฐ๊ธฐ์—์„œ ์ž‘์—…ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ตœ๊ทผ์— ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ์Šค๋ ˆ๋“œ ์ƒ๋‹จ์˜ ๋ชฉ๋ก์„ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. (์‚ฌ์‹ค, ์•Œ๋‹ค์‹œํ”ผ... ์™„์„ฑ๋œ ๊ฒƒ์„ ๋‘ ๋ฒˆ์งธ ์„น์…˜์— ์ž˜๋ผ๋‚ด์–ด ๋ถ™์—ฌ๋„ฃ๋Š” ๋Œ€์‹  ์ฒ˜์Œ๋ถ€ํ„ฐ ์ฒดํฌ๋ฐ•์Šค ํ•  ์ผ ๋ชฉ๋ก์œผ๋กœ ๋งŒ๋“ค์—ˆ์–ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„ ๊ธ€์Ž„์š”.)

๋‚จ์•„์žˆ๋Š” ๋ฌผ๊ฑด์˜ ๋ชฉ๋ก์ด ์ž‘์•„์ง€๋Š” ๊ฒƒ์„ ๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค!

@markerikson Updates to Existing Questions: Performance ์€ ์ด๋ฏธ ๋งˆ์Šคํ„ฐ์— ์žˆ์Šต๋‹ˆ๋‹ค :)

@markerikson "์•ก์…˜ ํฌ๋ฆฌ์—์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?" ๋งˆ์Šคํ„ฐ์—๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

@gribnoysup , @maxhallinan : ์•„, ๋„ค, ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. :) ๋ชฉ๋ก์„ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ™•์‹คํžˆ ๊ฑฐ๊ธฐ์— ๋„์ฐฉ. ๊ธฐ์กด ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋ชจ๋“  ์—…๋ฐ์ดํŠธ๊ฐ€ ์™„๋ฃŒ๋œ ๊ฒƒ ๊ฐ™์œผ๋ฉฐ ๋ช‡ ๊ฐ€์ง€ ์ƒˆ ํ•ญ๋ชฉ๋งŒ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด "๋””์ž์ธ ๊ฒฐ์ •" ์งˆ๋ฌธ์ด ๋– ์˜ฌ๋ž์Šต๋‹ˆ๋‹ค. "Redux๊ฐ€ ์ž‘์—…๊ณผ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?"

๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ด๊ฒƒ์„ ์ž˜ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋‹ค๋ฅธ ๋ฌธ์ œ์—์„œ ๊ฐœ๋ณ„ FAQ ์—…๋ฐ์ดํŠธ๋ฅผ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰