โ React - Error
โError: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
์์๋ณด๋
- router component๋ก ์ค์ ํด๋์ page ์ปดํฌ๋ํธ๊ฐ export ์์ด ๋น์ด์์ด์
- importํ ์ปดํฌ๋ํธ์ ๋ค์ด๋ฐ ๋ฌธ์ ๋ก
. . ๋ฑ์ผ๋ก ๋ฐ์ํ๋ ์๋ฌ๋ผ๊ณ ํ๋ค.
๋ด ๊ฒฝ์ฐ๋ ์์ ๋น์ทํ๊ฒ ์ปดํฌ๋ํธ ๋ค์ด๋ฐ ๋ฌธ์ ์๋ค.
์คํ์ผ์ปดํฌ๋ํธ ๋ถ๋ฆฌ๋ฅผ ์ฐฉ๊ฐํด์, ์ธ๋ถ (์คํ์ผ์ปดํฌ๋ํธ exportํ ํ์ผ) ์์ import ํ ๊ฒ์ผ๋ก ์คํ์ผ์ปดํฌ๋ํธ๋ช ์ ์จ์ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
๐ In Detail
์ปดํฌ๋ํธ ๋ถ๋ฆฌ ๊ณผ์ ์์ ์ค์๋ก ์๊ธด .. ์๋ฌ! ใ ใ
๋ด๊ฐ ์ฝ๋๋ฅผ ์ง ๊ฒ ์๋ ์ปดํฌ๋ํธ๋ฅผ ๋ถ๋ฆฌํ๋ค ๋ณด๋ ๋ฌธ์ ๋ฅผ ๋ ์ฐพ๊ธฐ ํ๋ค์๋ค.
์ปดํฌ๋ํธ ๋ถ๋ฆฌ ์ค ๋ฐ์ํ ์๋ฌ๋ผ์, ํฐ ๋ฌธ์ ๊ฐ ์๋๋ผ - ๋ด๊ฐ ์ค์ํ๊ฑฐ๋ ๋์น ๋ถ๋ถ์ ์ฐพ์ผ๋ฉด ๋ ๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ค.
๊ทธ๋ฐ๋ฐ ์๊ฐ๋ณด๋ค ์ด์ ๋ฅผ ์ฐพ๊ธฐ ํ๋ค์๋ค ..
import ๋ export ๋ฑ๋ ์ ์ดํด๋ณด๊ณ , ์คํ์ผ ์ปดํฌ๋ํธ๋ฅผ ๋ฐ๋ก ๋ถ๋ฆฌํ ๊ฒ๊ณผ๋ ์ฐ๊ด์๋ ๋ฏํด ์ ์ดํด๋ดค์ง๋ง ๋ชป ์ฐพ๋ค๊ฐ..
์ญ์ ์คํ์ผ ์ปดํฌ๋ํธ ๋ถ๋ฆฌ์ ์ฐ๊ด์๋ ๋ฌธ์ ์๋ค ใ ใ
์คํ์ผ ์ปดํฌ๋ํธ๋ฅผ ๋ฐ๋ก ๋ถ๋ฆฌํด
import * as St from './styles/MyPageStyle';
์ด๋ฐ ์์ผ๋ก import ํด์ ์ฐ๊ณ ์์๋๋ฐ, ๋น์ฐํ ๋ชจ๋ ๋ค์ด๋ฐ?๋ ํ๊ทธ๋ค์ด ์คํ์ผ์ปดํฌ๋ํธ ํ๊ทธ์ด๋ฆ์ด๋ผ๊ณ ์๊ฐํ๊ณ
St. ๋ฅผ ๋ถ์ฌ์ฃผ์๋ค. ๊ทผ๋ฐ ์๊ณ ๋ณด๋ ํด๋น ์ปดํฌ๋ํธ ๋งจ ์๋์ ๋ถ๋ฆฌ๋์ง ์์ ์คํ์ผ ์ปดํฌ๋ํธ๊ฐ ์์๊ณ ,
St. ๋ผ๋ ์ด๋ฆ์ ๋ผ์ฃผ๋๊น ์๋ํ๋ค. (๋ฒํผ ์ ๋๋ ์ ๋ ์๋ฌ๊ฐ ๋ฐ์ํ์์ผ๋.. ํด๋น ๋ฒํผ ํ๊ทธ๋ฅผ ์ ์ฌํ ๋ณด๋๊ฒ ๋ง์๋ค)
์์ ๊ฐ์ด, ์ด๋ค ํ๊ทธ๋ import ํ ์คํ์ผ์ปดํฌ๋ํธ๋ผ St. ๊ฐ ๋ถ๊ณ ,
์ด๋ค ํ๊ทธ๋ค์ ๋์ผ ์ปดํฌ๋ํธ ๋ด ์คํ์ผ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํด (๋ถ๋ฆฌ x)
St. ๋ฅผ ๋ถ์ด๋ฉด ์๋๋๋ฐ ๋ถ์ฌ๋ฒ๋ฆฐ ์ค์ .. ๋ก ๋ฐ์ํ ์๋ฌ์๋ค.
๐ช Ways to Improve
๋ด์๋
์คํ์ผ์ปดํฌ๋ํธ ๋ถ๋ฆฌ ์, ๋ถ๋ฆฌ๋์ง ์์ ๊ฑด ์๋ ์ง ์ ์ฒดํฌํ๊ธฐ!
๋, ์ปดํฌ๋ํธ ๋ถ๋ฆฌํ๋ฉด์ ์คํ์ผ์ปดํฌ๋ํธ ๋ถ๋ฆฌ๊น์ง ํ๊บผ๋ฒ์ ํ๋ค๊ฐ ์ค์๋๊ธฐ ์ฌ์ฐ๋, ํ๋์ฉ ํ์.
์ปดํฌ๋ํธ ๋ถ๋ฆฌ ๋จผ์ ํ๊ณ , ์คํ์ผ ์ปดํฌ๋ํธ ๋ถ๋ฆฌํ๊ธฐ๋ก ..