๋๋ ๋ด ๋ณด๋
๋๋ค onRouteUpdate
์์ gatsby-browser.js
๊ณผ ๊ฐ์ด :
export const onRouteUpdate = ({ location, action }) => {
if (
window.location &&
typeof window.location.href === 'string' &&
window.location.href.includes('www.example.com') // make sure we're on live site
) {
window.analytics.page();
} else {
console.log('PAGE: ', window.location.href, action, location);
}
return;
};
์ด๊ฒ์ ์ ์๋ํ์ง๋ง ํ์ด์ง์ ์ต์ปค ๋งํฌ๊ฐ ์์ผ๋ฉด ๊ทธ์ค ํ๋๋ฅผ ํด๋ฆญ ํ ๋๋ง๋ค ์คํ๋ฉ๋๋ค.
action === 'PUSH'
๊ฒฝ๋ก ์
๋ฐ์ดํธ์์ page()
์ ์๋ํ์ง๋ง ๋ชจ๋ ์ด๊ธฐ ํ์ด์ง๋ก๋์ ์ด๋ฒคํธ๊ฐ ์ฐจ๋จ๋ฉ๋๋ค.
์ด ์ถ์ ์์ ์ต์ปค ๋งํฌ ์ด๋ฒคํธ๋ฅผ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
์๋
ํ์ธ์ @brandonmp #
๋ฌธ์๊ฐ ์์ผ๋ฉด window.location.href
ํ์ธ ํ์๊ฒ ์ต๋๊น?
@sebastienfi ๋ ํด์ ์
๋ฐ์ดํธ (์ต์ปค๋ฅผ ํด๋ฆญ ํ ๋ ๋ฐ์ํ๋ ์ผ)๊ฐ onRouteUpdate
API๋ฅผ ํธ๋ฆฌ๊ฑฐํ์ง ์์์ผํ๋ค๊ณ ๋งํฉ๋๋ค. ๋์๊ฒ ๊ฝค ํฉ๋ฆฌ์ ์ผ๋ก ๋ณด์
๋๋ค. ํด์ ์
๋ฐ์ดํธ๋ ํ์ด์ง ์ ํ์์๋ง API๊ฐ ํธ๋ฆฌ๊ฑฐ๋๋ ๋จ์ผ ํ์ด์ง ๋ด์์๋ง ๋ฐ์ํด์ผํฉ๋๋ค.
@brandonmp ๋ ์ฌ๊ธฐ์์ ๋์ผํ ํ์ด์ง ๋ด์ ํด์ ๋ณ๊ฒฝ์ ํํฐ๋งํ๋ PR์ ์ข์ํฉ๋๋ค! https://github.com/gatsbyjs/gatsby/blob/84362074df2238e6794bb6a056e0163ac1c0dfdd/packages/gatsby/cache-dir/production-app.js#L112
์๋ง๋ ํจ์๋ฅผ ๋ค๋ฅธ ํ์ผ์ ๋ฃ๊ณ ๋ช ๊ฐ์ง ํ ์คํธ๋ฅผ ์ถ๊ฐํ ๊น์?
์ธ์ ์ธ์ง ํ์คํ์ง ์์ง๋ง ๋ ์ด์ ๊ฒฝ๋ก ๋ณ๊ฒฝ์ onRouteUpdate
๋ฅผ ์คํํ์ง ์์ต๋๋ค.