<p>๋ฐ˜์‘ ์บ์‹œ ์•ŒํŒŒ๋Š” 16.8 ์ด์ƒ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.</p>

์— ๋งŒ๋“  2019๋…„ 02์›” 06์ผ  ยท  11์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: facebook/react

react-cache ์€ ๋‚˜๋จธ์ง€ ๋ฐ˜์‘ ํŒจํ‚ค์ง€์™€ ๊ฐ™์ด 16.8.1๋กœ ๊ฒŒ์‹œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ ํ”Œ๋žซํผ์˜ ์„œ์ŠคํŽœ์Šค ํ•ญ๋ชฉ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

_Originally์— @jaredpalmer์— ์˜ํ•ด ๊ฒŒ์‹œ https://github.com/palmerhq/the-platform/pull/70#issuecomment -461170282_

Stale Question

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

ํ˜„์žฌ ์†”๋ฃจ์…˜์€ ์‹ค์ œ๋กœ ์†Œ์Šค์—์„œ ๋นŒ๋“œํ•˜๊ณ  ์žˆ์ง€๋งŒ ์‚ฌ๋žŒ๋“ค์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด package.json์— ์ถ”๊ฐ€ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  "scripts": {
    "postinstall": "git clone [email protected]:facebook/react.git --depth=1 && cd react && yarn install --frozen-lockfile && npm run build react-cache && cd .. && npm i $(npm pack ./react/build/node_modules/react-cache) && rm -rf react react-cache-*.tgz"
  },

์‹ ์šฉ์€์ด stackoverflow ๋‹ต๋ณ€์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

react๊ฐ€ npm์˜ "prepare"์Šคํฌ๋ฆฝํŠธ _and_ npm์„ ์ด์šฉํ•˜์—ฌ git repos ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์„ค์น˜๋ฅผ ํ—ˆ์šฉ ํ•œ๋‹ค๋ฉด ๋ฉ‹์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ๊ณง ๋ฐ”๋€” ๊ฒƒ ๊ฐ™์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€์ด ์†”๋ฃจ์…˜์ด ์ข‹์Šต๋‹ˆ๋‹ค.

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

[email protected] ๋กœ์ด ์˜ค๋ฅ˜๊ฐ€

TypeError: dispatcher is undefined
์ด๊ฒƒ์€ react-cache-development.js์˜ readContext() ํ•จ์ˆ˜์—์„œ ๋น„๋กฏ๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‹ซ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” master์—์„œ react-cache๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ํ”Œ๋žซํผ ์˜ˆ์ œ์—์„œ ๊ณต๊ธ‰ ์—…์ฒด ํด๋”๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ํ”Œ๋žซํผ์—์„œ ํ”ผ์–ด ์ข…์†์„ฑ ๋Œ€์‹  ์ข…์†์„ฑ์œผ๋กœ ๋ถ€์ ์ ˆํ•˜๊ฒŒ ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

๊ฐ€์ ธ ์˜ค๊ธฐ์— ํฐ ๋นจ๊ฐ„์ƒ‰ ๊ฒฝ๊ณ ๋ฅผ ์ถ”๊ฐ€ ํ•œ ๋‹ค์Œ ๋˜ ๋‹ค๋ฅธ ์•ŒํŒŒ๋ฅผ ๊ฒŒ์‹œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ PR์„ ๋ณด๋‚ด๋ฉด ๊ดœ์ฐฎ์•„ ๋ณด์ž…๋‹ˆ๋‹ค.

์ˆ˜์ž…์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์ฒซ ๋ฒˆ์งธ ๊ธฐ์—ฌ๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋ฐ˜์‘ ์บ์‹œ ๋ฐ ๋™์‹œ ๋ชจ๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ์‹คํ—˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์•„๋ž˜ ๋ฒ„์ „ ์—์„œ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๐Ÿ˜…

"react": "16.8.0-alpha.1",
"react-cache": "2.0.0-alpha.1",
"react-dom": "16.8.0-alpha.1",

@bitttttten ์ด๊ฒƒ์€ ๋ฐ˜์‘ "16.8"๋ฒ„์ „์—์„œ ์‹คํ–‰๋˜๋Š” ์„œ์ŠคํŽœ์Šค ๋ฐ๋ชจ ์ž…๋‹ˆ๋‹ค. use-suepense ๋ธŒ๋žœ์น˜์—์„œ ์„œ์ŠคํŽœ์Šค ๋ฐ๋ชจ๋ฅผ ์‹œ๋„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ๋ง์ด ๋‹น์‹ ์„ ๋„์™€์ค๋‹ˆ๋‹ค.

์‹คํ—˜ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์†Œ์Šค์—์„œ ๋นŒ๋“œ ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. :-)

ํ˜„์žฌ๋กœ์„œ๋Š” ์†Œ์Šค์—์„œ ๋นŒ๋“œํ•˜๋Š” ๊ฒƒ์ด ์œ ์ผํ•œ ๋ฐฉ๋ฒ• ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ์†”๋ฃจ์…˜์€ ์‹ค์ œ๋กœ ์†Œ์Šค์—์„œ ๋นŒ๋“œํ•˜๊ณ  ์žˆ์ง€๋งŒ ์‚ฌ๋žŒ๋“ค์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด package.json์— ์ถ”๊ฐ€ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  "scripts": {
    "postinstall": "git clone [email protected]:facebook/react.git --depth=1 && cd react && yarn install --frozen-lockfile && npm run build react-cache && cd .. && npm i $(npm pack ./react/build/node_modules/react-cache) && rm -rf react react-cache-*.tgz"
  },

์‹ ์šฉ์€์ด stackoverflow ๋‹ต๋ณ€์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

react๊ฐ€ npm์˜ "prepare"์Šคํฌ๋ฆฝํŠธ _and_ npm์„ ์ด์šฉํ•˜์—ฌ git repos ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์„ค์น˜๋ฅผ ํ—ˆ์šฉ ํ•œ๋‹ค๋ฉด ๋ฉ‹์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ๊ณง ๋ฐ”๋€” ๊ฒƒ ๊ฐ™์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€์ด ์†”๋ฃจ์…˜์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์ตœ๊ทผ ํ™œ๋™์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์˜ค๋ž˜๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ํ™œ๋™์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฉด ํ์‡„๋ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์˜ ๊ธฐ์—ฌ์— ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์žฅ๊ธฐ๊ฐ„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๊ฐ€ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์— ์—ฌ์ „ํžˆ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ์ตœ์‹  ์ •๋ณด๋กœ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

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