Open 55555-Jyeon opened 10 months ago
๐ก router์ layout ๊ด๋ จ
๋ก๊ทธ์ธ์ด ๋์์ ๋ ๋ณด์ฌ์ค layout๊ณผ ๋ก๊ทธ์ธ ์ ์ ๋ณด์ฌ์ค layout์ด ๋ฌ๋ผ์ ์ผํญ์ฐ์ฐ์ ํน์ && ์ฐ์ฐ์๋ก ๊ตฌ์กฐ๋ฅผ ์ง๊ณ ์ถ์๋ฐ ์ ๋์ง ์์ ํ์ฌ ์๋์ ๊ฐ์ด ์ฒ๋ฆฌํด๋
isMobi ? isMobi ์ธ์ง ๋ก๊ทธ์ธ ๋ฒํผ ํด๋ฆญ ํ ์ฑ๊ณต ์ ๊ฐ์ true๋ก ๋ณ๊ฒฝ { isMobi && < SideMenubar /> } ๋ฅผ layout์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ๊ณ ์ถ์๋๋ฐ layout๊ณผ outlet ์ฌ์ด์ props๋ก ์ ๋ฌ์ด ์ ์ ๋๋ ๊ฒ ๊ฐ๋ค.. setIsMobi is not a function ์๋ฌ๊ฐ ๋ด๋ค.
{ isMobi && < SideMenubar /> }
queryString URL๋ก๋ ์๋ํ๋๋ฐ ํ์์ ์ผ๋ก๋ง ์ ์ฉ๋๋ค. ๋ฉ์ธ ํ์ด์ง์์ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ฌ์ด๋ ๋ฉ๋ด๋ฐ๋ฅผ ํด๋ฆญํ์ ๋์๋ ์ ์ ์ฉ๋๋๋ฐ ๋ค์ ๋ก๊ทธ์ธํ์ด์ง๋ก ๋๊ฐ์ ์๋ก ์์ํ๋ฉด ์ ์ฉ์ด ๋์ง ์๋๋ค. useEffect(( )=>{ }, [ isMobi ]) ์ด๊ฑธ๋ก๋ ์ ๋๋ ๊ฑฐ ๊ฐ์๋ฐ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ๋ ์ค๋ฅด์ง ์๋๋ค...
useEffect(( )=>{ }, [ isMobi ])
signIn-form.js ์ layout.js ํ์ผ์์ props๋ก ์ฃผ๊ณ ๋ฐ๋ ๊ฒ๊ณผ ์ฟผ๋ฆฌ์คํธ๋ง์ ํ์ฉํด๋ณด๋ ค๊ณ ์๋ํด๋ณด๋ค๊ฐ ์ผ๋จ ์์ ๊ฐ์ด ์ฒ๋ฆฌํด๋๊ณ ๊ณ์ ์๊ฐํด๋ณผ ์์
โญ๏ธ multi-layout โญ๏ธ
๋ฉํฐ ๋ ์ด์์์ผ๋ก ํด๋ณด๊ธฐ
๐ก router์ layout ๊ด๋ จ
๋ก๊ทธ์ธ์ด ๋์์ ๋ ๋ณด์ฌ์ค layout๊ณผ ๋ก๊ทธ์ธ ์ ์ ๋ณด์ฌ์ค layout์ด ๋ฌ๋ผ์ ์ผํญ์ฐ์ฐ์ ํน์ && ์ฐ์ฐ์๋ก ๊ตฌ์กฐ๋ฅผ ์ง๊ณ ์ถ์๋ฐ ์ ๋์ง ์์ ํ์ฌ ์๋์ ๊ฐ์ด ์ฒ๋ฆฌํด๋
isMobi ? isMobi ์ธ์ง ๋ก๊ทธ์ธ ๋ฒํผ ํด๋ฆญ ํ ์ฑ๊ณต ์ ๊ฐ์ true๋ก ๋ณ๊ฒฝ
{ isMobi && < SideMenubar /> }
๋ฅผ layout์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ๊ณ ์ถ์๋๋ฐ layout๊ณผ outlet ์ฌ์ด์ props๋ก ์ ๋ฌ์ด ์ ์ ๋๋ ๊ฒ ๊ฐ๋ค.. setIsMobi is not a function ์๋ฌ๊ฐ ๋ด๋ค.queryString URL๋ก๋ ์๋ํ๋๋ฐ ํ์์ ์ผ๋ก๋ง ์ ์ฉ๋๋ค. ๋ฉ์ธ ํ์ด์ง์์ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ฌ์ด๋ ๋ฉ๋ด๋ฐ๋ฅผ ํด๋ฆญํ์ ๋์๋ ์ ์ ์ฉ๋๋๋ฐ ๋ค์ ๋ก๊ทธ์ธํ์ด์ง๋ก ๋๊ฐ์ ์๋ก ์์ํ๋ฉด ์ ์ฉ์ด ๋์ง ์๋๋ค.
useEffect(( )=>{ }, [ isMobi ])
์ด๊ฑธ๋ก๋ ์ ๋๋ ๊ฑฐ ๊ฐ์๋ฐ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ๋ ์ค๋ฅด์ง ์๋๋ค...signIn-form.js ์ layout.js ํ์ผ์์ props๋ก ์ฃผ๊ณ ๋ฐ๋ ๊ฒ๊ณผ ์ฟผ๋ฆฌ์คํธ๋ง์ ํ์ฉํด๋ณด๋ ค๊ณ ์๋ํด๋ณด๋ค๊ฐ ์ผ๋จ ์์ ๊ฐ์ด ์ฒ๋ฆฌํด๋๊ณ ๊ณ์ ์๊ฐํด๋ณผ ์์