react-native 基础以及各个方面知识店等。一方面做为学习总结,另外一方面也方便查阅,总结并没有严格顺序,天天遇到则加上。javascript
从第一个页面,跳转到两一个页面时能够在navigator.push
里面加入传输的参数java
从第二个页面返回到上一个页面时候也须要传递参数回上一个页面:可是navigator.pop()并无提供参数,由于pop()只是从[路由1,路由2,路由3。。。]里把最后一个路由踢出去的操做,并不支持传递参数给倒数第二个路由,这里要用到一个概念,把上一个页面的实例或者回调方法,做为参数传递到当前页面来
,在当前页面操做上一个页面的state:react
sequenceDiagram firstPage->>secondPage: navigator.push({para:{id:1}) secondPage->>firstPage: 回调方法传递到当前页面来
es5代码示例es6
navigator.push({ name: 'SecondPageComponent', component: SecondPageComponent, params: { id: this.state.id, //从SecondPageComponent获取user getUser: function(user) { _this.setState({ user: user }) } } });
es6代码示例react-native
navigator.push({ name: 'SecondPageComponent', component: SecondPageComponent, params: { id: this.state.id, //从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键的处理相关问题post