美文网首页ReactiveNative
react-navigaton3.x之createStackNa

react-navigaton3.x之createStackNa

作者: LD_左岸 | 来源:发表于2019-07-17 11:44 被阅读0次

0.RN版本信息

Snip20190717_1.png

1.安装插件

 1.1初始化项目
 react-native init XXX --version 0.59.0
7EF9CF6BC2E4CAFE23D8EFD1E78B8077.png
1.2 启动项目
4ACA0D75F278420ABFF98FAB79889413.png
1.3 开启实时刷新服务
0353FE24538C6700764A57DA61AE4AF4.png
1.4 安装react-navigation
yarn add react-navigation
5E8D0D3349FF5C31A5E6DD9518EE1566.png
1.5 安装react-native-gesture-handler
B012019E3810CA1811D1847F065F4783.png
1.6 link
3322D82B806A5DF499FE1E8562A24B88.png

代码书写

2.1 设置Home导航容器为App的根容器
在index中修改App为Home
/**
 * @format
 */
import React from 'react'
import {AppRegistry} from 'react-native';
import App from './App';
import {name as appName} from './app.json';
import Home from './navigators/pages/Home'

AppRegistry.registerComponent(appName, () => Home);
2.2配置Home的导航容器
import {
    createStackNavigator,
    createAppContainer
} from 'react-navigation'
import React from 'react'
import {View, Button} from 'react-native'
import first from './first'
import second from './second'

const Home = createStackNavigator({
    first:{
        screen:first,
        navigationOptions:{
            title:`First`,
            headerBackTitle:`返回`
        }

    },
    second:{
        screen:second,
        navigationOptions: {
            title: `Second`
        }
    }
});
export default HomeNav = createAppContainer(Home)
2.3 用于跳转的两个界面
first
import React,{Component} from 'react'
import {View,Text, Button} from 'react-native'
export default class first extends Component{
    render(){
        const {navigation} = this.props;
        return <View>
            <Text>First</Text>
           {/*写法一不传值*/}
            <Button title='跳转二级界面' onPress={()=>{
                navigation.push('second')
        }}></Button>
           {/*写法二传值*/}
            <Button title='跳转二级界面传值'
                    onPress={() => navigation.navigate('second', {name: 'LDD'})}
            >
            </Button>
        </View>
    }
}
*********************************************************
second
import React,{Component} from 'react'
import {View,Text, Button} from 'react-native'
export default class second extends Component{
    render(){
        const {navigation} = this.props;
        return <View>
            <Text>First</Text>
            <Button title='返回一级界面' onPress={()=>{
                navigation.pop();
            }}></Button>
           <Text>{'一级界面传递过来的name的值 = ' + navigation.state.params.name}</Text>
        </View>
    }
}
second 通过setParams 改变当前页面naviagtion中的state.params的值
import React,{Component} from 'react'
import {View,Text, Button} from 'react-native'
export default class second extends Component{
    render(){
        const {navigation} = this.props;
        // console.warn(navigation.state.params);
        const {setParams} = this.props.navigation;
        return <View>
            <Text>First</Text>
            <Button title='返回一级界面' onPress={()=>{
                //navigation.pop();
                navigation.goBack();
            }}>
            </Button>

            {/*使用setParams改变 route params*/}
            <Button
                    onPress={()=>setParams({name:'不能等于LDD了'})}
                    title="setParams to '非LDD'"
            >
            </Button>

            <Text>{'一级界面传递过来的name的值 = ' + navigation.state.params.name}</Text>

        </View>
    }
}

3. demo

相关文章

  • react-navigaton3.x之createStackNa

    0.RN版本信息 1.安装插件 代码书写 3. demo

  • 十之

    博学之,审问之,慎思之,明辨之,笃行之。 励志之,健身之,涅槃之,弘毅之,自强之!

  • 读记|唐诗人:诗心煎红尘(二)

    愈之挫之 险之退之 借之济之 忠之犯之 勇之夺之 衰之立之 坚之韧之 载之言之 一代宗师 成之传之 字曰子厚 道解...

  • 《寄君归》

    思之念之 见之不忘 吾亦求之 求之不得 吾亦念之 兮之盼之 来之归之 欲予离之 得之兮之 心思念之 盼来归之 归之...

  • 飘零

    艾雪儿 难耐心中怦然之 抑之,控之,思之,忘之 能否任之,弃之,拥之,念之 山河为鉴 赴之,游之,悦之,相守之…

  • 《美》

    刚之美,软之美,善之美,心之美。 水之美,声之美,爱之美,景之美,笑之美,物之美,月之美。 仁之美,慈之美,德之美...

  • 众说纷云

    众说纷云 文‖曾之一 20200220 古人说 真之假之善之恶之美之丑之 今人说 真之假之善之恶之美之丑之 后人说...

  • 安沨

    博学之,审问之,慎思之,明辨之,笃行之。

  • 2019-01-13

    博学之、明辨之、慎思之、审问之、笃行之

  • 《道德经·第五十一章》

    原文 道生之,德蓄之,物形之,势成之。 是以万物莫不尊道而贵德。 道之尊,德之贵;长之育之;亭之毒之;养之覆之。 ...

网友评论

    本文标题:react-navigaton3.x之createStackNa

    本文链接:https://www.haomeiwen.com/subject/jscqlctx.html