【React Native】Header Navigationでヘッダータイトル(Header Title)にコンポーネントを渡す方法
8666 ワード
こんにちは!
最近はパソコンを持たない大学生も多いみたいですね。
パソコンを持たない=スマホで完結
スマホアプリの需要の変化についても、気になるこの頃です。
さて、今回は「React Native
のHeader Navigation
でヘッダータイトル(Header Title
)にコンポーネントを渡す方法」について、お伝えしていきたいと思います。
(復習)React Navigation
でtitle
に任意の値を与える方法
export default function SplashScreen() {
function HomeScreen({navigation}) {
return (
<View style={styles.container}>
<Text style={styles.text}>Home Screen!!</Text>
</View>
);
}
return (
<Stack.Navigator>
<Stack.Screen
name="Home"
component={HomeScreen}
options={{headerTitle: 'title'}}
/>
</Stack.Navigator>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems:'center',
justifyContent:'center',
},
text: {
fontSize: 50,
},
});
※importなどの記述は省略しています。
結果は・・・
ヘッダータイトルに任意の値(title)を設定することができました。
React Navigation
でtitle
にコンポーネントを渡す方法
ここから本題です。
ヘッダータイトルにコンポーネントを設定してみたいと思います。
例として、ヘッダータイトルをタップすると、アラートが表示されるようにしてみます。
export default function SplashScreen() {
function HomeScreen({navigation}) {
return (
<View style={styles.container}>
<Text style={styles.text}>Home Screen!!</Text>
</View>
);
}
// ヘッダータイトルコンポーネント
const title = () => {
return (
<TouchableOpacity onPress={() => alert('headerTitle Tapped')}>
<Text>Title Component</Text>
</TouchableOpacity>
);
};
return (
<Stack.Navigator>
<Stack.Screen
name="Home"
component={HomeScreen}
// ここで、headerTitleにtitleコンポーネントを渡してあげます。
options={{headerTitle: title}}
/>
</Stack.Navigator>
);
}
これで、タイトルに独自のコンポーネントを設定することができました!
もちろんヘッダータイトルに画像を設定したりもできます。
参考資料
Author And Source
この問題について(【React Native】Header Navigationでヘッダータイトル(Header Title)にコンポーネントを渡す方法), 我々は、より多くの情報をここで見つけました https://qiita.com/choco_p/items/bd9e60c4335a37d29627著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .