[JS] location ๊ฐ์ฒด์ href/assign, replace ์ฐจ์ด์
๋ฐ์ํ
์ฐจ์ด์ ์์ฝ
window.location.assign
(๋ฐ href) : ์ ๋ณด๋ฅผ ์ ์กํ์ง ์๊ณ ํ์ด์ง๋ง ์ด๋ / ๋ค๋ก ๊ฐ๊ธฐ ๊ฐ๋ฅwindow.location.replace
: ์ ๋ณด๋ฅผ ์ ์กํ์ง ์๊ณ ํ์ด์ง๋ง ๊ต์ฒด / ๋ค๋ก ๊ฐ๊ธฐ ๋ถ๊ฐwindow.location.reload
: ํ์ฌ ํ์ด์ง์ ๋ฌธ์ ๋ค์ ๋ก๋
window.location.assign (href)
- ๋ค๋ก ๊ฐ๊ธฐ ๋ฒํผ์ ๋๋ฌ ์ด์ ํ์ด์ง๋ก ์ด๋ํ ์ ์๋ค
- ์ฃผ์ ํ์คํ ๋ฆฌ์ ๊ธฐ๋ก๋๋ค
- ๋ค๋ก ๊ฐ๊ธฐ :
location.assign
๋ฉ์๋๋ฅผ ํธ์ถํ ํ์ด์ง๋ก ์ด๋ - ์ฉ๋ : URL์ ์ด๋ํ๋ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ์ ์ฌ์ฉ
location.href``location.assign
์ด ๋์ ์ฌ์ฉ๋ฒ๋ง ๋ค๋ฅผ ๋ฟ ๊ธฐ๋ฅ์ ๋์ผํ๋ค
window.location.href = "url"; // location.href ์ฌ์ฉ๋ฒ
window.location.assign("url"); // location.assign ์ฌ์ฉ๋ฒ
window.location.replace
- ํ์ฌ ํ์ด์ง๋ฅผ ์๋ก์ด ํ์ด์ง๋ก ๋ฎ์ด ์์ฐ๋ฏ๋ก ์ด์ ํ์ด์ง๋ก ์ด๋ํ ์ ์๋ค
- ์ฃผ์ ํ์คํ ๋ฆฌ์ ๊ธฐ๋ก๋์ง ์๋๋ค
- ๋ค๋ก ๊ฐ๊ธฐ : ๋ธ๋ผ์ฐ์ ํ์คํ ๋ฆฌ์ ์๋ ๊ฐ์ฅ ์ต๊ทผ ํ์ด์ง๋ก ์ด๋(๋ค๋ก๊ฐ๊ธฐ๋ฅผ ํธ์ถํ ํ์ด์ง๋ก ์ด๋ ๋ถ๊ฐ)
- ์ฉ๋ : ๋ก๊ทธ์ธ, ๊ฒ์๋ฌผ ์์ฑ ๋ฑ ๋ณด์์ ์ด์ ํ์ด์ง์ ์ ๊ทผํ์ง ๋ชปํ๋๋ก ํ๋ ๊ฒฝ์ฐ
window.location.replace("url"); // location.replace ์ฌ์ฉ๋ฒ
history.push vs location.assign(href) ์ฐจ์ด์
๋ฆฌ์กํธ์ ๋ผ์ฐํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(react-router-dom
)๋ Browser History API์ history.pushState()
๋ฅผ ์ด์ฉํด์ ๊ตฌํ๋ ๊ฒ์ด๋ค. history.pushState()
๋ ์๋ก๊ณ ์นจ ์์ด ์ฃผ์๋ง ๋ฐ๋๋ค. react-router-dom
์ history.push()
์ญ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋์ํ๋ฉฐ, ์ด ๋ฉ์๋๋ ๋ด๋ถ์ ์ผ๋ก history.pushState()
๋ฅผ ํธ์ถํ์ฌ URL์ ๋ณ๊ฒฝํ๊ณ ํด๋น ๊ฒฝ๋ก์ ๋ง๋ ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋ง ํ๋ค. Single Page Application(SPA)์ ๊ฐ๋ฐํ๋ค๋ฉด ์๋ก๊ณ ์นจ์ด ๋ฐ์ํ๋ location.assign
๋ณด๋ค history.push
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ ํฉํ๋ค.
- HTTP ์์ฒญ
history.push
: Xlocation.assign
: O
- ์๋ก๊ณ ์นจ
history.push
: Xlocation.assign
: O
- ์ดํ๋ฆฌ์ผ์ด์
์ํ ์ ์ง
history.push
: Olocation.assign
: X
๊ธ ์์ ์ฌํญ์ ๋ ธ์ ํ์ด์ง์ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ๋ฐ์๋ฉ๋๋ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
๋ฐ์ํ
'๐ช Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ์บ๋ฒ์ค Canvas ๋ํ ํ๋ ์ถ์ ํ ์์ ์กฐ์ ํ๊ธฐ (0) | 2024.04.24 |
---|---|
[React] Canvas API ๊ธฐ๋ณธ ๋ด์ฉ ์ ๋ฆฌ / ๋ฆฌ์กํธ์์ ์ฌ์ฉ๋ฒ (0) | 2024.04.24 |
[TS] ํ์ ์คํฌ๋ฆฝํธ - ํ์ ์ถ๋ก / ๋จ์ธ / ๊ฐ๋ (0) | 2024.04.24 |
[TS] ํ์ ์คํฌ๋ฆฝํธ - ์ ๋ค๋ฆญ, ํ๋ก๋ฏธ์ค (0) | 2024.04.24 |
[TS] ํ์ ์คํฌ๋ฆฝํธ - ๊ธฐ์ด ๋ด์ฉ ์ ๋ฆฌ (0) | 2024.04.24 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[React] Canvas API ๊ธฐ๋ณธ ๋ด์ฉ ์ ๋ฆฌ / ๋ฆฌ์กํธ์์ ์ฌ์ฉ๋ฒ
[React] Canvas API ๊ธฐ๋ณธ ๋ด์ฉ ์ ๋ฆฌ / ๋ฆฌ์กํธ์์ ์ฌ์ฉ๋ฒ
2024.04.24 -
[TS] ํ์ ์คํฌ๋ฆฝํธ - ํ์ ์ถ๋ก / ๋จ์ธ / ๊ฐ๋
[TS] ํ์ ์คํฌ๋ฆฝํธ - ํ์ ์ถ๋ก / ๋จ์ธ / ๊ฐ๋
2024.04.24 -
[TS] ํ์ ์คํฌ๋ฆฝํธ - ์ ๋ค๋ฆญ, ํ๋ก๋ฏธ์ค
[TS] ํ์ ์คํฌ๋ฆฝํธ - ์ ๋ค๋ฆญ, ํ๋ก๋ฏธ์ค
2024.04.24 -
[TS] ํ์ ์คํฌ๋ฆฝํธ - ๊ธฐ์ด ๋ด์ฉ ์ ๋ฆฌ
[TS] ํ์ ์คํฌ๋ฆฝํธ - ๊ธฐ์ด ๋ด์ฉ ์ ๋ฆฌ
2024.04.24