您的位置:首页 > Web前端 > React

react-native ListView 通过Navigator传递数据

2017-01-03 03:32 525 查看
开发环境:RN android端+聚合数据

需要解决的任务:如何一次性为所有的ListView列表添加navigator导航,同时各自导向自己的页面,同时所有的页面可以返回到主导航页

遇到的问题:

模板页是独立的,navigator只能push模板组件,多余的数据无法传递过去,接收的数据全部为空

解决方法:

不需要传递数据,直接在本页面ListView组件的渲染函数 _renderRow 函数中创建模板组件

//。。。这里是在_renderRow渲染函数里面定义的新模板组件
class Model extends Component{
constructor(props) {
super(props);
}
render() {
return (
<View style={{flex:1}}>
<View>
<Text onPress={                     ()=>this.props.navigator.pop()}>返回</Text>//返回
</View>
<WebView
source={{uri:row.url}}//向模板页注入数据点
javascript={true}
domStorageEnable={true}
/>
</View>
)
}
}
//后面接着就是是_renderRow渲染ListView数据的部分,当然会有一个onPress函数,触发navigator导向各自的Model组件页了!


总结一下就是:模板组件定义咋listView内部,对所以组件可以访问_renderRow传递的数据,而不用担心this丢失,作用域变换带来的数据丢失的问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  listview android RN