Screen_2017-02-13_AM_71545.jpg

React native์˜ ๊ธฐ๋ณธ ์ปดํฌ๋„ŒํŠธ์ธ Navigator ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•˜์ง€๋งŒ ๋ณ„๋„๋กœ ์„ค์น˜ํ•ด์•ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” React Navigation์œผ๋กœ ๋ฌด๋ฆฌํ•˜๊ฒŒ ๊ต์ฒดํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.
Navigator๋ฅผ ์ˆœ์ˆ˜ํ•˜๊ฒŒ ์“ฐ๊ธฐ์—๋Š” ์†์ด ๋„ˆ๋ฌด ๋งŽ์ด๊ฐ€๊ธฐ๋„ ํ•˜๊ณ  ์ปจํŠธ๋กค ํ•ด์ค˜์•ผํ•˜๋Š” ๋ถ€๋ถ„๋“ค๋„ ๋งŽ๊ณ , ํ†ตํ•ฉ์ ์ธ ๋„ค๋น„๊ฒŒ์ด์…˜ ์‹œ์Šคํ…œ์ด ํ•„์š”ํ•ด ๋ณด์˜€๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ํƒญ๊ณผ ์นด๋“œํ˜•์‹์œผ๋กœ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๋„ค์ด๊ฒŒ์ด์…˜์„ ํ†ตํ•ฉ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์“ฐ๋Š”๊ฒƒ์ด ์•„๋ฌด๋ž˜๋„ ๋‚˜์•„ ๋ณด์˜€๋‹ค.

ํ˜„์žฌ ๊ธฐ์ค€์œผ๋กœ ์•„์ง 1.0.0-beta.3์œผ๋กœ ์ •์‹์œผ๋กœ ๋‚˜์˜จ ๋ฒ„์ „์€ ์•„๋‹ˆ๋ผ์„œ ๊ทธ๋Ÿฐ์ง€ ์‹ฌ๊ฐํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ๋ช‡๋ช‡ ๋ฌธ์ œ์ ๋“ค์€ ๋ณด์ธ๋‹ค. ๊ทธ๋ž˜๋„ ๊ธฐ๋Šฅ์ด ์ถฉ๋ถ„ํžˆ ์ข‹์•„์„œ ๊ดœ์ฐฎ์€ ๋Œ€์•ˆ ์ค‘ ํ•˜๋‚˜๋‹ค.

StackNavigator๊ณผ TabNavigator ์กฐํ•ฉ์‚ฌ์šฉ

stack๊ณผ tab์„ ์กฐํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•  ์ผ์ด ์ข…์ข… ์žˆ์„๊ฒƒ์ด๋‹ค.

StackNavigator({
	TabNavigation: {
		screen: TabNavigator()
	},
});

๋Œ€๋žต์ ์œผ๋กœ Stack์— Tab์„ ์ง‘์–ด๋„ฃ๊ฑฐ๋‚˜ ๋ฐ˜๋Œ€๋กœ Tab์— Stack์„ ๋„ฃ๋Š” ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
์ปดํฌ๋„ŒํŠธ์—์„œ state์„ ํ™•์ธํ•ด๋ณด๋‹ˆ ์ž์‹ ๋„ค๋น„๊ฒŒ์ด์…˜์˜ routes ๊ฐ’์œผ๋กœ ๋“ค์–ด๊ฐ€ ์žˆ๋Š”๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ˜„์žฌ index๊ฐ’๋„ ๊ฐ™์ด ๋“ค์–ด์žˆ์œผ๋‹ˆ ํ™œ์šฉํ•˜๋ฉด ํ˜„์žฌ route๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

ํŽ˜์ด์ง€ ์ด๋™ ์‹œ ํŽ˜์ด์ง€ ํŠธ๋ž˜ํ‚นํ•˜๊ธฐ

ํƒญ์ด๋‚˜ ํŽ˜์ด์ง€๋ฅผ ์ด๋™ํ•˜๋ฉด Storage์— ์œ„์น˜์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ ์•„๋ฌด๋ฆฌ ์ฐพ์•„๋ด๋„ ์ด๋™ํ–ˆ์„๋•Œ ์ด๋ฒคํŠธ ํ•จ์ˆ˜๋ฅผ ์ฐพ์ง€ ๋ชปํ–ˆ๋‹ค. ๋งค๋‰ด์–ผ์„ ๊ณ„์† ๋ณด๋‹ค๊ฐ€ https://reactnavigation.org/docs/guides/screen-tracking ๊ธ€์„ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค.
์˜ˆ์ œ์— ์ ํžŒ ์†Œ์Šค๋Š” ํŽ˜์ด์ง€๊ฐ€ ์ด๋™ํ•˜๋ฉด Google analytics์— ๊ธฐ๋กํ•˜๋Š” ์•ก์…˜ ์˜ˆ์ œ๋‹ค. ์ด๊ฑธ๋กœ ํŽ˜์ด์ง€๊ฐ€ ์ด๋™ํ• ๋•Œ๋งˆ๋‹ค ๋ฌด์–ธ๊ฐ€ ์•ก์…˜์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ํ™•์‹ ์„ ์–ป์—ˆ๋‹ค. (ํ•˜๋ฃจ์ข…์ผ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋‹ค๋…”๋Š”๋ฐ.. ใ… ใ… )

const nav = StackNavigator({});

nav.prototype.componentDidUpdate = function(prevProps, prevState)
{
	console.log('prev page state', prevState);
	console.log('current page state', this.state);
};

๋‹ค๋งŒ ์ตœ์ดˆ์˜ ํŽ˜์ด์ง€๋Š” ํ˜ธ์ถœ๋˜์ง€ ์•Š๋Š”๋‹ค. componentDidUpdate์˜ ํŠน์„ฑ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๊ธฐ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐํ•ด์•ผํ•  ๊ฒƒ์ด๋‹ค.

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

์กฐํšŒ์ˆ˜
932
์ข‹์•„์š”
0

0๊ฐœ์˜ ๋Œ“๊ธ€

๋“ฑ๋ก๋œ ๋Œ“๊ธ€์ด ์—†์Šต๋‹ˆ๋‹ค.