当前位置: 首页 > 编程笔记 >

react-native组件中NavigatorIOS和ListView结合使用的方法

林和畅
2023-03-14
本文向大家介绍react-native组件中NavigatorIOS和ListView结合使用的方法,包括了react-native组件中NavigatorIOS和ListView结合使用的方法的使用技巧和注意事项,需要的朋友参考一下

前言

本文主要给大家介绍了关于react-native组件中NavigatorIOS和ListView结合使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

先看效果

使用方法

index.ios.js

import React, {Component} from 'react';
import {
 AppRegistry,
 NavigatorIOS
} from 'react-native';

import NewsList from './components/NewsList';
export default class ITNews extends Component {
 render() {
 return (
  <NavigatorIOS
  style=
  initialRoute=
  />
 );
 }
}

NewsList.js

import React, {Component} from 'react';
import {ListView, Text, StyleSheet, TouchableHighlight} from 'react-native';

const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});

export default class NewsList extends Component {

 constructor(props) {
 super(props);
 this.state = ({
  dataSource: ds.cloneWithRows(['CNodeJS', '开源中国', '开发者头条', '推酷', 'SegmentFault', 'IT之家', 'V2EX', '知乎日报', 'W3CPlus']),
 });
 }

 _onPress(rowData) {
 console.log(rowData);
 }

 render() {
 return <ListView
  style={styles.listView}
  dataSource={this.state.dataSource}
  renderRow={(rowData) =>
  <TouchableHighlight
   style={styles.rowStyle}
   underlayColor='#008b8b'
   onPress={() => this._onPress(rowData)}>
   <Text style={styles.rowText}>{rowData}</Text>
  </TouchableHighlight>}
 />
 }
}

const styles = StyleSheet.create({
 listView: {
 backgroundColor: '#eee',
 },
 rowText: {
 padding: 10,
 fontSize: 18,
 backgroundColor: '#FFFFFF'
 },
 rowStyle: {
 flex: 1,
 marginBottom: 1,
 justifyContent: 'center',
 },
});

说明

NavigationIOS必须要加上style=这个样式,否则它里面装载的组件不会显示

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。

参考

  • ListView
  • NavigatorIOS

源码:https://github.com/tomoya92/ITNews-React-Native

 类似资料:
  • 问题内容: 我的应用程式收到警告,令我感到困扰。反应总是说我需要为每行添加键,但是无论如何我都不能添加这些键。 我的代码如下所示: 我尝试像这样在我的组件上添加键, 并且我还尝试从组件内部的道具中获取键,并将其添加到我的情况下该组件的第一个元素中,即TouchbleOpacity 有人可以给我提示吗?还是应该忽略此警告? 问题答案: 实际上有四个参数,您需要第三个而不是第二个。 参考:facebo

  • react-native-refreshable-listview 是下拉刷新 ListView,当数据重载的时候显示加载提示。 代码示例: var React = require('react-native')var {Text, View, ListView} = Reactvar ArticleStore = require('../stores/ArticleStore')var Stor

  • 这是一款基于 react-native,使用纯 js 编写,同时支持 android 和 ios 的下拉刷新和上拉加载更多控件 详细用法,请查看 https://github.com/remobile/react-native-refresh-infinite-listview

  • 本文向大家介绍React-Native实现ListView组件之上拉刷新实例(iOS和Android通用),包括了React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)的使用技巧和注意事项,需要的朋友参考一下 在web应用中,上拉刷新加载更多,下拉刷新列表的操作非常常见,那么在React-Native中是如何实现呢,我们具体来看一下 ReactNative提供

  • 问题内容: 我正在使用Phonegap + React.js和Socket.io开发一个应用程序。但是,随后React-Native发行了,其原生感觉很棒。 我试图让socket.io-client与React Native一起工作,但是不幸的是没有成功。我做了一些研究,发现与此问题中描述的错误完全相同:https : //github.com/facebook/react- native/iss

  • 我刚刚开始尝试react native,并且正在遵循一些官方文档。 我从官方文档的样式和大小部分了解到,样式系统与css非常相似,但并不完全相同。(?) Q1:我可以只使用样式化的组件并使用“填充:20px”等,而不用担心不同类型的设备吗? 我问这个,因为文档说: React Native中的所有维度都是无单位的,表示与密度无关的像素。 此报价仅针对宽度和高度吗?。默认情况下是否有像素密度转换,或