react-cache
์ ๋๋จธ์ง ๋ฐ์ ํจํค์ง์ ๊ฐ์ด 16.8.1๋ก ๊ฒ์๋์ง ์์์ต๋๋ค.
์ด๊ฒ์ ํ๋ซํผ์ ์์คํ์ค ํญ๋ชฉ์ด ์๋ํ์ง ์์์ ์๋ฏธํฉ๋๋ค.
_Originally์ @jaredpalmer์ ์ํด ๊ฒ์ https://github.com/palmerhq/the-platform/pull/70#issuecomment -461170282_
[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 ๋๋ ํ ๋ฆฌ์์ ์ค์น๋ฅผ ํ์ฉ ํ๋ค๋ฉด ๋ฉ์ง ๊ฒ์ ๋๋ค.ํ์ง๋ง ๊ณง ๋ฐ๋ ๊ฒ ๊ฐ์ง๋ ์์ต๋๋ค. ์ง๊ธ์์ด ์๋ฃจ์ ์ด ์ข์ต๋๋ค.
์ด ๋ฌธ์ ๋ ์ต๊ทผ ํ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ค๋๋ ๊ฒ์ผ๋ก ํ์๋์์ต๋๋ค. ๋ ์ด์ ํ๋์ด ๋ฐ์ํ์ง ์์ผ๋ฉด ํ์๋ฉ๋๋ค. ๋น์ ์ ๊ธฐ์ฌ์ ๊ฐ์ฌํฉ๋๋ค.
์ฅ๊ธฐ๊ฐ ์ฌ์ฉํ์ง ์์ผ๋ฉด์ด ๋ฌธ์ ๋ฅผ ์ข ๋ฃํฉ๋๋ค. ์ด ๋ฌธ์ ๊ฐ ์ต์ ๋ฆด๋ฆฌ์ค์ ์ฌ์ ํ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ต์ ์ ๋ณด๋ก ์ ๋ฌธ์ ๋ฅผ ์์ฑํ์ญ์์ค. ๊ฐ์ฌํฉ๋๋ค!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
ํ์ฌ ์๋ฃจ์ ์ ์ค์ ๋ก ์์ค์์ ๋น๋ํ๊ณ ์์ง๋ง ์ฌ๋๋ค์ด ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ณ ์ถ๋ค๋ฉด package.json์ ์ถ๊ฐํด ๋ณผ ์ ์์ต๋๋ค.
์ ์ฉ์์ด stackoverflow ๋ต๋ณ์ผ๋ก ์ด๋ํฉ๋๋ค.
react๊ฐ npm์ "prepare"์คํฌ๋ฆฝํธ _and_ npm์ ์ด์ฉํ์ฌ git repos ๋๋ ํ ๋ฆฌ์์ ์ค์น๋ฅผ ํ์ฉ ํ๋ค๋ฉด ๋ฉ์ง ๊ฒ์ ๋๋ค.ํ์ง๋ง ๊ณง ๋ฐ๋ ๊ฒ ๊ฐ์ง๋ ์์ต๋๋ค. ์ง๊ธ์์ด ์๋ฃจ์ ์ด ์ข์ต๋๋ค.