Dva: ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„์ง ์œ ์ง€ ๋ณด์ˆ˜ ์ค‘์ž…๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2019๋…„ 10์›” 10์ผ  ยท  38์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: dvajs/dva

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

dva@3๊ณผ ๊ด€๋ จ๋œ ์ฝ˜ํ…์ธ ๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ตฌ์ฒด์ ์ธ ๋‚ด์šฉ์€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋Š” dva, API ์กฐ์ •, ๋ฌธ์„œ ์žฌ๊ตฌ์„ฑ ๋ฐ ์šฐ์ˆ˜ํ•œ ๊ธฐ๋ณธ ts ์ง€์›์˜ ์‚ฌ์šฉ์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 1๋…„ ์ „์— ๋ฒ„์ „์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

์œ ์ง€ํ•˜๋‹ค.

ํ›„์† ์—…๊ทธ๋ ˆ์ด๋“œ ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ด์ œ React๊ฐ€ ์—…๊ทธ๋ ˆ์ด๋“œ๋˜์—ˆ์œผ๋ฏ€๋กœ dva์— ํ•ด๋‹น ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜๊ณ  dva ๋ฒ„์ „ 2.4.1์—๋„ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ˆ˜๋™์œผ๋กœ 2.6.0-beta.14๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ๋ผ์šฐํŒ… ๋ฐ ๊ธฐ๋ก ๋ฐฉ๋ฒ•์„ ์ˆ˜์ •ํ•ด์•ผ๋งŒ ๊ฒฝ๊ณ ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์•ˆ์ • ๋ฒ„์ „์€ ์–ธ์ œ ์ถœ์‹œ๋˜๋Š”์ง€ ์—ฌ์ญค๋ด๋„ ๋ ๊นŒ์š”!

dva@3 ๊ฐ€ ๊ณ„ํšํ•˜๊ณ  ์žˆ๊ณ  ๋™๋ฃŒ๋“ค์ด ํ›„์† ์กฐ์น˜๋ฅผ

๋ผ์šฐํŒ… ๊ฒฝ๊ณ ๋Š” ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

๊ธ€์Ž„์š”, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค๋Š” ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ •๋น„์ค‘.

์ด์ œ umi๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ dva ์„ค๋ช…์„œ๋ฅผ ์ฝ์„ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
dva ์†Œ๊ฐœ์—์„œ๋Š” umi๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด 0api๋กœ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  dva-cli๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋Œ€์‹  create-umi๋ฅผ ์‚ฌ์šฉํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํ•œ๋™์•ˆ antd-admin์„ ์‚ฌ์šฉํ•ด ์™”์ง€๋งŒ ๋ฌธ์„œ๋ฅผ ์ž์„ธํžˆ ์ฝ์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ์— antd-pro๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ํ•˜๊ณ  ์‹ถ์–ด์„œ ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ์ œํ•œ๋œ ์‹œ๊ฐ„ ์— ํ›‘์–ด๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

dva@3๊ณผ ๊ด€๋ จ๋œ ์ฝ˜ํ…์ธ ๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ตฌ์ฒด์ ์ธ ๋‚ด์šฉ์€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋Š” dva, API ์กฐ์ •, ๋ฌธ์„œ ์žฌ๊ตฌ์„ฑ ๋ฐ ์šฐ์ˆ˜ํ•œ ๊ธฐ๋ณธ ts ์ง€์›์˜ ์‚ฌ์šฉ์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 1๋…„ ์ „์— ๋ฒ„์ „์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฒŒ์จ 2020๋…„์ด์•ผ, ์‹ค์ œ๋กœ ์žฌ๋Œ€๊ฒฐ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

๋จผ์ € ๊ณต์‹ ๋ฒ„์ „์„ ๊ฒŒ์‹œํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋กœ๋“œํ˜ธ๊ทธ~ ๐Ÿ˜„

2020๋…„์ด ์˜จ๋‹ค

@xc1427 ๋ฒ„์ „ 2.4.1์„ ์œ ์ง€ํ•˜๋ฉด์„œ react-redux๋ฅผ 7.1.0์œผ๋กœ ์›ํ™œํ•˜๊ฒŒ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ(useSelector๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด). ์ฆ‰, ํ˜„์žฌ ์ตœ์‹  ๋ฒ„์ „์ด 2.4.1๊ณผ ๋น„๊ตํ•˜์—ฌ ์–ด๋–ค ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋” ์ž์„ธํ•œ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฐ€์ด๋“œ๋ฅผ ๋ณด์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ต๋ณ€์„ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋ฒ„์ „ 3.0 ์—…๊ทธ๋ ˆ์ด๋“œ ์—ฌ๋ถ€ ๋งค์ผ ํ™•์ธโ€ฆ

@xc1427 ๋ฒ„์ „ 2.4.1์„ ์œ ์ง€ํ•˜๋ฉด์„œ react-redux๋ฅผ 7.1.0์œผ๋กœ ์›ํ™œํ•˜๊ฒŒ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ(useSelector๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด). ์ฆ‰, ํ˜„์žฌ ์ตœ์‹  ๋ฒ„์ „์ด 2.4.1๊ณผ ๋น„๊ตํ•˜์—ฌ ์–ด๋–ค ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋” ์ž์„ธํ•œ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฐ€์ด๋“œ๋ฅผ ๋ณด์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ต๋ณ€์„ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
๋ฐ˜์‘์„ 16.12๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

dva 3 ์ถœ์‹œ ๊ณ„ํš์ด ์žˆ๋‚˜์š”? dva์™€ ant-design์„ ํ•จ๊ป˜ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. Ant-design์ด ์ถœ์‹œ๋œ ์ง€ ๋‘ ๋‹ฌ์ด ์ง€๋‚ฌ๋Š”๋ฐ dva์—์„œ ์†Œ์‹์ด ์—†์Šต๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋Š” ์—ฌ์ „ํžˆ ์œ ์ง€๋˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ์•ˆ์ •์ ์ธ ๋ฒ„์ „๊ณผ 3๊ฐ€์ง€ ๊ณ„ํš์ด ์ถœ์‹œ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋ฒŒ์จ 2020๋…„์ด์•ผ, ์‹ค์ œ๋กœ ์žฌ๋Œ€๊ฒฐ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

์ •๋ง ์ข‹๋‹ค

์–ธ์ œ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๊นŒ?

8๊ฐœ์›”์ด ์ง€๋‚ฌ์Šต๋‹ˆ๋‹ค. 2.6.0 ๋˜๋Š” beta.20 ๋ฒ„์ „, ์–ธ์ œ ์ •์‹ ๋ฒ„์ „์ด ๋˜๋‚˜์š”? ?

์•„๋ฌด๋„ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ ํฌ๊ธฐํ•˜์…จ๋‚˜์š”?

์•„๋ฌด๋„ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ ํฌ๊ธฐํ•˜์…จ๋‚˜์š”?

์œ ์ง€.

2021๋…„~

2021๋…„ 2์›” 5์ผ ๋‚ด๊ฐ€ ์ธ์ˆ˜ํ•œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ด ์˜ค๋ž˜๋œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์ž‘์„ฑ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์ด๋ฏธ ์˜ค๋ž˜์ „์— ํฌ๊ธฐํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. . . . ๋ฐ˜์‘ ๋ผ์ดํ”„ ์‚ฌ์ดํด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ”Œ๋ ˆ์ดํ•˜๋‚˜์š”?

์•ˆ๋…•, dva
์ด์ œ ์•Œ๋ฆฌ๋ฐ”๋ฐ”๋Š” ์•ž์œผ๋กœ ๊ฐ€์žฅ ์„ฑ์ˆ™ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ๋งŒ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋ฉฐ ์•Œ๋ฆฌ๋ฐ”๋ฐ” ๋ถ€์„œ๋Š” ๋” ์ด์ƒ ๊ณ ๋ คํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•, dva
์ด์ œ ์•Œ๋ฆฌ๋ฐ”๋ฐ”๋Š” ์•ž์œผ๋กœ ๊ฐ€์žฅ ์„ฑ์ˆ™ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ๋งŒ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋ฉฐ ์•Œ๋ฆฌ๋ฐ”๋ฐ” ๋ถ€์„œ๋Š” ๋” ์ด์ƒ ๊ณ ๋ คํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ dva๋Š” ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์—๋งŒ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.์ด์ œ hooks๊ฐ€ ์‚ฌ์šฉ๋˜์–ด dva๊ฐ€ ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

2021๋…„ 2์›” 9์ผ

์•ˆ๋…•, dva
์ด์ œ ์•Œ๋ฆฌ๋ฐ”๋ฐ”๋Š” ์•ž์œผ๋กœ ๊ฐ€์žฅ ์„ฑ์ˆ™ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ๋งŒ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋ฉฐ ์•Œ๋ฆฌ๋ฐ”๋ฐ” ๋ถ€์„œ๋Š” ๋” ์ด์ƒ ๊ณ ๋ คํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ dva๋Š” ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์—๋งŒ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.์ด์ œ hooks๊ฐ€ ์‚ฌ์šฉ๋˜์–ด dva๊ฐ€ ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์€ concent๋ฅผ ์‹œ๋„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค https://github.com/concentjs/concent
์™„๋ฒฝํ•œ ts ์ง€์›, ์ตœ์ƒ์œ„ Provider ์—†์Œ, ๋‚ด์žฅ ์ข…์†์„ฑ ์ˆ˜์ง‘, ํด๋ž˜์Šค ๊ตฌ์„ฑ ์š”์†Œ ๋ฐ ํ•จ์ˆ˜ ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋…ผ๋ฆฌ์  ์žฌ์‚ฌ์šฉ, ์„ค์ •๊ณผ ๊ฐ™์€ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๊ณต์‹ Dike ๊ณต์‹์„ ์‚ดํŽด ๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•, dva
์ด์ œ ์•Œ๋ฆฌ๋ฐ”๋ฐ”๋Š” ์•ž์œผ๋กœ ๊ฐ€์žฅ ์„ฑ์ˆ™ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ๋งŒ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋ฉฐ ์•Œ๋ฆฌ๋ฐ”๋ฐ” ๋ถ€์„œ๋Š” ๋” ์ด์ƒ ๊ณ ๋ คํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ dva๋Š” ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์—๋งŒ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.์ด์ œ hooks๊ฐ€ ์‚ฌ์šฉ๋˜์–ด dva๊ฐ€ ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

hooks ๋ฆฌํŒฉํ† ๋ง ํ”„๋กœ์ ํŠธ๋Š” ์ง€๊ธˆ๊นŒ์ง€ dva์—์„œ ์ด์ƒ์„ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ–ˆ์œผ๋ฉฐ, hooks์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ›„ํฌ ๋ฉ”๋ชจ ๋ฐ dva ์—ฐ๊ฒฐ์˜ ๋ฒ„๊ทธ ์‚ฌ์šฉ

ํ›„ํฌ ๋ฉ”๋ชจ ๋ฐ dva ์—ฐ๊ฒฐ์˜ ๋ฒ„๊ทธ ์‚ฌ์šฉ

dva๊ฐ€ ๋ฒ ํƒ€ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฉด useSelector๋ฅผ ์ง์ ‘ ์—ฐ๊ฒฐํ•  ํ•„์š” ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

dva ๋ฒ ํƒ€๋ฒ„์ „์€ ์•ˆ์ •์ ์ธ๊ฐ€?์•ˆ๋˜๋ฉด ํฌ๊ธฐํ•˜๊ณ  mobx๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž.

ํ›„ํฌ ๋ฉ”๋ชจ ๋ฐ dva ์—ฐ๊ฒฐ์˜ ๋ฒ„๊ทธ ์‚ฌ์šฉ

dva๊ฐ€ ๋ฒ ํƒ€ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฉด useSelector๋ฅผ ์ง์ ‘ ์—ฐ๊ฒฐํ•  ํ•„์š” ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

image
ํ˜•๋‹˜, ์ €๋Š” dva์— 2.6.0-beta.19๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  react-redux์— 7.1 ์ด์ƒ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํŽ˜์ด์ง€๋ฅผ ์ง์ ‘ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ›„ํฌ ๋ฉ”๋ชจ ๋ฐ dva ์—ฐ๊ฒฐ์˜ ๋ฒ„๊ทธ ์‚ฌ์šฉ

dva๊ฐ€ ๋ฒ ํƒ€ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฉด useSelector๋ฅผ ์ง์ ‘ ์—ฐ๊ฒฐํ•  ํ•„์š” ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

...
ํ˜•๋‹˜, ์ €๋Š” dva์— 2.6.0-beta.19๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  react-redux์— 7.1 ์ด์ƒ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํŽ˜์ด์ง€๋ฅผ ์ง์ ‘ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

@Zhang-haohua npm ls react-redux ์„ค์น˜๋œ ๋ฒ„์ „์„ ๋ณด์„ธ์š”.

ํ”ผํŠธ

ํ›„ํฌ ๋ฉ”๋ชจ ๋ฐ dva ์—ฐ๊ฒฐ์˜ ๋ฒ„๊ทธ ์‚ฌ์šฉ

์ง€๊ธˆ๊นŒ์ง€ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค

// eslint-disable-next-line react/no-typos
UserInfoModal.proptypes = {
    app: PropTypes.object,
    dispatch: PropTypes.func
}

function mapStateToProps({ app }) {
    return { app }
}

export default React.memo(connect(mapStateToProps)(UserInfoModal), (prevProps, nextProps) => {
    if (prevProps && nextProps) {
       ...
    }
    return true;
});
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰