[TIL]230211

graceยท2023๋…„ 2์›” 11์ผ

TIL/WIL

๋ชฉ๋ก ๋ณด๊ธฐ
30/37
post-thumbnail

๐Ÿค“ What I Learned Today

React Navigation

์ด๋ ‡๊ฒŒ Navigation ์„ ๋งŒ๋“ค์–ด์ฃผ์—ˆ๋‹ค๋งŒโ€ฆ ํ—ค๋”์— ์ œ๋ชฉ์ด ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋“ค์–ด๊ฐ€ ์žˆ์–ด์„œ ๊ทธ๋Ÿฐ์ง€ ๋งค์šฐ ๊ฑฐ์Šฌ๋ ธ๋‹ค. ์ฐพ์•„๋ณด๋‹ˆ ์ด ๋ถ€๋ถ„๋„ ์„ค์ •์„ ๋”ฐ๋กœ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค๊ณ  ํ•˜์—ฌ ์ฐพ์•„๋ณด์•˜๋‹ค.




๐Ÿค” Code Snippets

ํ—ค๋”๋ฅผ ์ˆจ๊ธฐ๊ณ  ์‹ถ์œผ๋ฉด..!

<Stack.Screen name="Home" component={Home} options={{headerShown: false}}/>

์˜ต์…˜์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.




๐Ÿš€ Challenges Experienced


๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์–ด ๊ธฐ๋ณธ ์„ค์ •๋งŒ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋˜๋Š” ๋ถ€๋ถ„์ด๋ผ ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ•˜์˜€๋‹ค.
์ด ์™ธ์— ๋‹ค์–‘ํ•œ ์„ค์ •์ด ์žˆ์—ˆ๋Š”๋ฐโ€ฆ

ํ—ค๋”์— ์ œ๋ชฉ๋งŒ ๋ณ€๊ฒฝํ•ด ์ฃผ๋ ค๋ฉด

<Stack.Screen name="Home" component={Home} options={{title: "ํ™ˆ"}}/>


์ด๋ ‡๊ฒŒ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์Šคํƒ€์ผ๋„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด?
<Stack.Screen 
	name="Home" 
	component={Home} 
	options={{
		title: "ํ™ˆ" , 
		headerStyle: {
			backgroundColor: "#ffffff"
		},
		headerTintColor: "#ffffff",
		headerTitleStyle: {
			fontWeight:'bold',
			fontSize: 20,
		},
	}}
/>


๊ทธ ์™ธโ€ฆ

ํ™”๋ฉด ์ปดํฌ๋„ŒํŠธ์—์„œ navigation.setOptions ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด๋„ ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.

function Home({navigation}) {
	useEffect(() => {
		navigation.setOption({title:'ํ™ˆ'})
},[navigation]);
}


์Œโ€ฆ ์—ฌ๊ธฐ์—์„œ ํ—ค๋”์˜ ์ œ๋ชฉ๋งŒ ์ˆจ๊ธฐ๊ณ  ๋’ค๋กœ๊ฐ€๊ธฐ๋Š” ๋งŒ๋“ค์–ด ์ฃผ๊ณ  ์‹ถ๋‹ค๋ฉด?(iOS)

๋ฒ„ํŠผ์œผ๋กœ ๋’ค๋กœ๊ฐ€๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.



<Button onPress={() => navigation.pop()} title="๋’ค๋กœ๊ฐ€๊ธฐ" />


(iOS) ์—์„œ ์ด๋ ‡๊ฒŒ ํ–ˆ๋‹ค๊ฐ€๋Š” StatusBar ์˜์—ญ์„ ์นจ๋ฒ”โ€ฆ ์ปดํฌ๋„ŒํŠธ ์ด์šฉํ•ด์„œ ์ด๋ ‡๊ฒŒ ๊ณ ์ณ์ค€๋‹ค.

import {SafeAreaView} from 'react-native-safe-area-context'

<SafeAreaView>
	<Button onPress={() => navigation.pop()} title="๋’ค๋กœ๊ฐ€๊ธฐ" />
</SafeAreaView>
profile
๋ฏธ๋ž˜์˜ ๊ฐœ๋ฐœ์ž!

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