๐จCould not find a declaration file for module โreact-queryโ
1. Error Occured
1
import {QueryClient, QueryClientProvider} from 'react-query'
React Native ํ๋ก์ ํธ์์ API ์ํ๊ด๋ฆฌ๋ฅผ ์ํด react-query๋ฅผ ์ค์นํ๊ณ ๋ชจ๋์ ์ํฌํธํ๋๋ฐ ๋ค์๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
1
2
3
4
Could not find a declaration file for module 'react-query'.
'C:/Users/.../node_modules/react-query/build/cjs/packages/react-query/src/index.js'
implicitly has an 'any' type.
Try `npm i --save-dev @types/react-query` if it exists or add a new declaration (.d.ts) file containing `declare module 'react-query';`
2. Install @types/react-query
์ ์๋ฌ๋ ์ผ๋จ ๋ณดํต Typescript๋ฅผ ์ฌ์ฉํ ๋ ๋ชจ๋์ ํ์ ์ด ์ ์๋์ง ์์์ ๋ฐ์ํ๋ ์๋ฌ๋ก, ํด๋น ๋ชจ๋์์ ์์ฒด์ ์ผ๋ก ํ์ ์ ์ ๊ณตํ์ง ์์ ๋์ ๋ฐ์ํ๋ฉฐ, community-contributed typings๋ฅผ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ @types/module-name ์ ์ค์นํจ์ผ๋ก์ ํด๊ฒฐํ ์ ์๊ณ , ๊ทธ ์ธ์๋ types๋ฅผ ์ง์ ์ค์ ํจ์ผ๋ก์ ํด๊ฒฐ์ด ๊ฐ๋ฅํ๋ค.
react-query์ ๊ฒฝ์ฐ community-contributed typings๊ฐ ์กด์ฌํด์ @types/react-query
๋ฅผ ์ค์น๋ฅผ ํด๋ณด์์ง๋ง ๊ณ ์ณ์ง์ง ์์๋ค.
3. Use require()
๋ฌธ์ ์ํฉ์ ๊ฒ์ํ๋ฉฐ ๋์๋ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค ํ๋. require๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ํ์ธํ๋ค.
1
2
const reactQuery = require('react-query');
const {QueryClient, QueryClientProvider} = reactQuery;
์์๊ฐ์ด ์์ฑ์ ํ๋ฉด ์๋ฌ๋ ์๋์ง๋ง, require๋ฅผ ์ฌ์ฉํ ๋ถ๋ถ์ import๋ฌธ์ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒฝ๊ณ ๊ฐ ๋จ๊ณ , react-query ๋ชจ๋์ ์ฌ์ฉํ ๋ ํ์ ์ฒดํน์ด ์ ๋๋ก ์๋ํ์ง ์์๋ค.
4. ๋ช ํ์ ๋ค์ธ(Detective Dain)
[ ๋จ์ 1 ]
nodemodules ํด๋์ @types/react-query ์ ๊ฐ๋ณด๋ readme ํ์ผ์ react-query๋ ์์ฒด์ ์ธ ํ์
์ ์ ๊ณตํ๋ฏ๋ก @types/react-query๋ฅผ ์ค์นํด์ค ํ์๊ฐ ์๋ค๊ณ ๋ช
์๋์ด์์๋ค.์ฝ๊ฐ ๋ณด๋ฌผ์ฐพ๊ธฐ ์ชฝ์ง ์ฐพ์ ๋๋_
๊ทธ๋์ @types/react-query๋ ๋ค์ remove ํด์ฃผ์๋ค.
[ ๋จ์ 2 ]
node_modules์ react-query ํด๋์ package.json ํด๋์ types์ ๊ฒฝ๋ก๊ฐ ์ง์ ๋์ด์๋๋ฐ build/types/packages/query-core/src/index.d.ts
๋ก ์ค์ ๋์ด์์๋ค. ๊ทธ๋ฐ๋ฐ build ํด๋ ์์ types๋ผ๋ ํด๋๊ฐ ์กด์ฌํ์ง ์์๋คโฆ (ํผ๋๐ฑ)
5. Install Previous Version
๊ฒฐ๋ก ์ ์ผ๋ก ์น๊ตฌ ๊ฐ๋ฐ์์ ์กฐ์ธ์ผ๋ก ๋ฆฌ์กํธ ์ฟผ๋ฆฌ ๋ฒ์ ์ ๋ฎ์ถฐ์ฃผ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋ค. 4.0.0์ด ์ต๊ทผ์ ๋ฐฐํฌ๋ ๋ฒ์ ์ด๋ผ ๋ฌธ์ ์๋ ๊ฒ ๊ฐ๋ค. ์น๊ตฌ๊ฐ ๋ง์ง๋ง์ผ๋ก ์ฌ์ฉํ๋ react-query 3.39.1 ๋ฒ์ ์ผ๋ก ์ค์นํ๋ค.
1
yarn install react-query@3.39.1
๊ทธ๋ฌ๋๋ ์ ์ ์๋ํ๋ค.
(์์ธ์ธ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง 3.39.1 ๋ฒ์ ์ ์ค์นํ์ ๋์๋ node_modules/react-query/package.json์ types๊ฒฝ๋ก๊ฐ types/index.d.ts๋ก ์ง์ ๋์ด์์๊ณ , typesํด๋๋ ์ ์์๋ค!)
Conclusion
๐์ผ๋จ ๋ชจ๋ ์๋ฌ๊ฐ ๋๋ค๋ฉด ์ต์ ๋ฒ์ ์ด์๋ ์๋์ง ๊ผญ ํ์ธํด๋ณด์.
(๊ทธ๋ ์ง ์์ผ๋ฉด 2~3์๊ฐ์ด ๊ฑฐ๋ฌํ๊ฒ ์ฌ๋ผ์ง๋ค.)