ReactNative導航的右邊新增按鈕做跳轉
ReactNative 棧導航(StackNavigator):
第一步引入import {StackNavigator} from 'react-navigation';
第二步:建立元件設定navigationOptions
第三步:StackNavigator 配置螢幕
(1.需要做跳轉的其他元件時需要通過props獲取navigate ,
const {navigate}=this.props.navigation,然後在跳轉事件裡面呼叫navigator('傳入要跳轉螢幕對應的key')
2.如果在navigationOptions裡面做跳轉則需要吧{navigation}傳進去,然後代用navigation.navigate('傳入要跳轉螢幕對應的key'),如下:
在導航的右邊新增headerRight 重點是把navigation傳進去,比如
static navigationOptions=({navigation})=>({
title:'Title',
headerRight:<Button title='right' onPress={()=>navigation.navigate('這裡是指向的元件key')}/>
});
3.需要傳引數的時候在navigate(引數一是路由名字,引數二dict傳值)
navigate('Chat',{user:'abc'})
取引數的時候 需要 const {params} = this.props.navigation.state.
比如:const {params} = this.props.navigation.state;
return <Text>Chat with{params.user}</Text>
如果是在navigationOptions取引數
比如 static navigationOptions =({navigation})=>({
title:${navigation.state.params.user}
,
}
)
//)。
···
/**
- Sample React Native App
- https://github.com/facebook/react-native
- @flow
*/
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
Image,
Dimensions,
TextInput,
ScrollView,
FlatList,
SectionList,
Button
} from 'react-native';
import {StackNavigator} from 'react-navigation';
class HomeScreen extends Component{
static navigationOptions =({navigation})=>({
title:'Main',
headerRight:<Button title="Right" onPress={()=>navigation.navigate('Sec',{user:'Lucy'})}/>,
}) ;
render(){
const {navigate} = this.props.navigation;
return(
<View>
<Text>this is Main</Text>
<Button title="Second" onPress={()=>navigate('Sec',{user:'Lucy'})}/>
</View>
);
}
}
class Second extends Component{
static navigationOptions =({navigation})=>( {
title:Chat with ${navigation.state.params.user}
,
});
render(){
const {params} = this.props.navigation.state;
return(
<Text>chat with {params.user}</Text>
);
}
}
const App = StackNavigator({
Home:{screen:HomeScreen},
Sec:{screen:Second}
});
var screenWidth =Dimensions.get('window').width;
const styles = StyleSheet.create({
container:{
flex:1,
marginTop:20,
},
text:{
flex:1,
justifyContent:'center',
alignItems:'center',
textAlign:'center',
backgroundColor:'red',
},
});
AppRegistry.registerComponent('AwesomeProject', () => App);
···
相關文章
- elementUI去掉input右邊上下按鈕UI
- iOS開發:給UIWebview的導航欄新增返回、關閉按鈕iOSUIWebView
- Android 點選按鈕跳轉Android
- 左邊分類和右邊導航的關係
- Dcat-admin新增頂部右側按鈕
- uniapp更改導航欄按鈕文字APP
- log1按鈕介質頁面跳轉
- ReactNative實現地圖導航React地圖
- 分析微信(iOS 版)定製導航欄按鈕的思路iOS
- iOS Tabbar中間新增凸起可旋轉按鈕iOStabBar
- 定製化你的ReactNative底部導航欄React
- [JS]bootstrapTable新增操作按鈕JSbootAPT
- 58同城APP導航、按鈕、表單、圖示運用淺析APP
- 手機直播原始碼,突出底部導航欄中間按鈕的樣式原始碼
- 如何為資料行的新增操作按鈕
- 室內導航圖用什麼做的?怎麼做室內導航?
- HarmonyOS 管理頁面跳轉及瀏覽記錄導航
- 為 Charles 新增代理頁面按鈕(Rewrite)
- MFC 捕獲按鈕 按下和抬起 (轉)
- 直播商城平臺,購物車長按右滑出現刪除按鈕
- 小程式webview跳轉頁面後沒有返回按鈕完美解決方案WebView
- (iOS)從0到Double系列 如何刻出一個可拖動的導航浮動按鈕iOS
- IDEA久違了!FeignX外掛支援方法級別的導航跳轉Idea
- 企業微信工作臺新增功能按鈕
- Fiori Elements List Report table 裡的普通按鈕,Global 按鈕 和 Determining 按鈕
- VsCode顯示左邊摺疊程式碼+-按鈕VSCode
- ArkWeb頁面跳轉與跨應用導航 - 高階應用Web
- 成品直播原始碼,html頁面點選按鈕實現頁面跳轉的兩種方法原始碼HTML
- 教程中使用bootstrap5之後,點選導航按鈕不展開的解決辦法boot
- 聊天平臺原始碼,解決設定導航欄按鈕圖片變色問題原始碼
- 如何使用 Bootstrap class 向按鈕新增下拉選單boot
- fastadmin新增自定義按鈕,並使用彈窗功能AST
- odoo12 Tree檢視建立編輯旁邊新增按鈕,並根據條件隱藏Odoo
- Blazor入門100天 : 自做一個支援長按事件的按鈕元件Blazor事件元件
- Bootstrap 4 實現導航欄右側對齊boot
- 如何給 SAP Fiori Elements 應用新增自定義按鈕
- 高亮按鈕
- 為element-ui的Select和Cascader新增彈層底部操作按鈕UI
- 按鈕為什麼放右側?古騰堡原則告訴你