BrowserRouter vs HashRouter

iamsummer__Β·2020λ…„ 9μ›” 28일
3

react routerμ—μ„œλŠ” browserRouter, hashRouterλ₯Ό μ œκ³΅ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

πŸ“š BrowserRouter

www.domain.com/path

μœ„μ™€ 같이 url에 μ ‘μ†ν•˜λ©΄ www.domain.com/path에 λŒ€ν•œ μš”μ²­μ„ μ„œλ²„κ°€ λ°›μ•„λ“€μ΄κ²Œ λ©λ‹ˆλ‹€. (location.pathname에 λŒ€μ‘)
λΈŒλΌμš°μ €κ°€ μ œκ³΅ν•˜λŠ” HTML5의 history API도 ν™œμš©ν•  수 λ„μžˆμœΌλ©° 동적인 νŽ˜μ΄μ§€μ— 주둜 μ‚¬μš©λ©λ‹ˆλ‹€. (request-response 의 관계)

πŸ“š HashRouter

www.domain.com/#/path

μœ„μ™€ 같이 url에 접속을 ν•˜λ©΄ #μ΄μ „μ˜ www.domain.com에 λŒ€ν•œ μš”μ²­λ§Œ μ„œλ²„κ°€ λ°›μ•„λ“€μ΄κ²Œ λ©λ‹ˆλ‹€. (location.hash에 λŒ€μ‘)
κ·ΈλŸ¬λ―€λ‘œ λ°±μ—”λ“œκ°€ ν•„μš”ν•˜μ§€ μ•ŠλŠ” 상황 즉 정적인 νŽ˜μ΄μ§€μ—μ„œ 주둜 μ‚¬μš©λ©λ‹ˆλ‹€.

πŸ€” document.referrer

document.refferλŠ” 링크λ₯Ό 톡해 μ΄λ™ν–ˆμ„ λ•Œ μ–΄λ–€ νŽ˜μ΄μ§€μ˜ 링크λ₯Ό 톡해 μ™”λŠ”μ§€ λ ˆνΌλŸ¬κ°€ κΈ°λ‘λ˜λŠ” κ³΅κ°„μž…λ‹ˆλ‹€.
검색창에 직접 λ“€μ–΄κ°ˆ 경우 refferκ°€ μ‘΄μž¬ν•˜μ§€ μ•Šκ²Œ λ©λ‹ˆλ‹€.
주둜 λ’€λ‘œκ°€κΈ°μ‹œμ— 더이상 이동할 νŽ˜μ΄μ§€κ°€ μ—†λŠ” κ²½μš°μ— μ•„λž˜μ™€ 같이 μ²΄ν¬ν•˜μ—¬ μ‚¬μš©ν•©λ‹ˆλ‹€.

document.referrer ? history.back():location.href="http://m.naver.com";

ν•΄μ‹œκ°’μ˜ λ³€ν™”λŠ” refferλ₯Ό ν†΅ν•΄μ„œ 확인할 수 μ—†μŠ΅λ‹ˆλ‹€.

profile
κ°œλ°œν•˜λŠ” ν”„λ‘ νŠΈμ—”λ“œκ°œλ°œμž

0개의 λŒ“κΈ€