加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

react-native 学习总结

发布时间:2020-12-15 08:17:28 所属栏目:百科 来源:网络整理
导读:react-native 基础以及各个方面知识店等。一方面作为学习总结,另一方面也方便查阅,总结并无严格顺序,每天遇到则加上。 不同页面路由传输数据——与父子组件传递数据通信不一样 从第一个页面,跳转到两一个页面时可以在 navigator.push 里面加入传输的参数

react-native 基础以及各个方面知识店等。一方面作为学习总结,另一方面也方便查阅,总结并无严格顺序,每天遇到则加上。

不同页面路由传输数据——与父子组件传递数据通信不一样

  • 从第一个页面,跳转到两一个页面时可以在navigator.push里面加入传输的参数

  • 从第二个页面返回到上一个页面时候也需要传递参数回上一个页面:但是navigator.pop()并没有提供参数,因为pop()只是从[路由1,路由2,路由3。。。]里把最后一个路由踢出去的操作,并不支持传递参数给倒数第二个路由,这里要用到一个概念,把上一个页面的实例或者回调方法,作为参数传递到当前页面来,在当前页面操作上一个页面的state:

sequenceDiagram
firstPage->>secondPage: navigator.push({para:{id:1})
secondPage->>firstPage: 回调方法传递到当前页面来

es5代码示例

navigator.push({
    name: 'SecondPageComponent',component: SecondPageComponent,params: {
        id: this.state.id,//从SecondPageComponent获取user
        getUser: function(user) {
            _this.setState({
                user: user
            })
        }
    }
});

es6代码示例

navigator.push({
    name: 'SecondPageComponent',//从SecondPageComponent获取user
        getUser: (user)=>{
            this.setState({
                user: user
            })
        }
    }
});

react-native中文社区的navigator教程示例

pressButton() {
            const { navigator } = this.props;
            if(this.props.getUser) {
                let user = USER_MODELS[this.props.id];
                this.props.getUser(user);
            }
            // 按到返回时候 先进行数据处理,用上级函数方法,然后再跳转回去
            if(navigator) {
                navigator.pop();
            }
    }

1.明显可以看出es6箭头函数的方便和简洁
2.但是物理返回键时数据处理(前面页面如何进行更新?解决中 extend backAndroid)
安卓back键的处理相关问题

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读