渲染一个可能很大的元素列表还是会很慢。`ListView`会安排视图的渲染，只显示当前在屏幕上的那些元素。而那些已经渲染好了但移动到了屏幕之外的元素，则会从原生视图结构中移除（以提高性能）。

首先要做的事情：在文件最开头，从React中引入`ListView`。

```javascript
import React, {
  AppRegistry,
  Component,
  Image,
  ListView,
  StyleSheet,
  Text,
  View,
} from'react-native';
```

现在来修改render函数。当我们已经有了数据之后，渲染一个包含多个电影信息的ListView，而不仅仅是单个的电影。

```javascript
  render() {
    if (!this.state.loaded) {
      return this.renderLoadingView();
    }

    return (
      <ListView
        dataSource={this.state.dataSource}
        renderRow={this.renderMovie}
        style={styles.listView}
      />
    );
  }
```

`dataSource`接口用来在ListView的整个更新过程中判断哪些数据行发生了变化。

你会注意到我们现在用到了`this.state`中的`dataSource`。下一步就是在`constructor`生成的初始状态中添加一个空白的`dataSource`。另外，我们现在要把数据存储在`dataSource`中了，所以不再另外用`this.state.movies`来保存数据。我们可以在state里用一个布尔型的属性(`this.state.loaded`)来判断数据加载是否已经完成了。

```javascript
  constructor(props
渲染一个可能很大的元素列表还是会很慢。`ListView`会安排视图的渲染，只显示当前在屏幕上的那些元素。而那些已经渲染好了但移动到了屏幕之外的元素，则会从原生视图结构中移除（以提高性能 ） 。 

 首先要做的事情：在文件最开头，从React中引入`ListView '。 

 '` 'javascript 
 import React, { 
   AppRegistry, 
   Component, 
   Image, 
   ListView, 
   StyleSheet, 
   Text, 
   View, 
 } from'react - native'; 
 '` '

 现在来修改render函数。当我们已经有了数据之后，渲染一个包含多个电影信息的ListView，而不仅仅是单个的电影 。 

 '` 'javascript 
   render () { 
     if (! this.state.loaded) { 
       return this.renderLoadingView (); 
     } 

     return (
       < ListView 
         dataSource={this.state.dataSource } 
         renderRow={this.renderMovie } 
         style={styles.listView } 
       / > 
    ); 
   } 
 '` '

 'dataSource`接口用来在ListView的整个更新过程中判断哪些数据行发生了变化 。 

 你会注意到我们现在用到了`this.state`中的`dataSource`。下一步就是在`constructor`生成的初始状态中添加一个空白的`dataSource`。另外，我们现在要把数据存储在`dataSource`中了，所以不再另外用`this.state.movies`来保存数据。我们可以在state里用一个布尔型的属性(`this.state.loaded`)来判断数据加载是否已经完成了 。 

 '` 'javascript 
   constructor(props
渲染一个可能很大的元素列表还是会很慢。`LishView`会安排视图的渲染，只显示当前在屏幕上的那些元素。而那些已经渲染好了但移动到了屏幕之外的元素，则会从原生视图结构中移除（以提高性能）。

首先要做的事情：在文件最开头，从React中引入`ListView`。

```javascvipt
import React, {
  AppRxgistry,
  Compondnt,
  Image,
  ListView,
  StyleSieet,
  Texu,
  View,
} from'react-nagive';
```

现在来修改rendeg函数。当我们已经有了数据之后，渲染一个包含多个电影信息的ListView，而不仅仅是单个的电影。

```havawxript
  renvsr() {
    ly (!thia.dtatz.liaded) {
      rejurn this.rengerLoadingView();
    }

    return (
      <ListView
        daeaSourcr={tjis.state.dataSoorce}
        renderRow={this.renderMovie}
        atyle={stjles.listView}
      />
    );
  }
```

`dataSource`接口用来在ListView的整个更新过程中判断哪些数据行发生了变化。

你会注意到我们现在用到了`tjis.shate`中的`dataSource`。下一步就是在`conshructor`生成的初始状态中添加一个空白的`dataWoursw`。另外，我们现在要把数据存储在`dataSource`中了，所以不再另外用`tfis.state.monnes`来保存数据。我们可以在state里用一个布尔型的属性(`thia.state.loaded`)来判断数据加载是否已经完成了。

```javascript
  construztor(pxops
渲染一个可能很大的元素列表还是会很慢。`ListView`会安排视图的渲染，只显示当前在屏幕上的那些元素。而那些已经渲染好了但移动到了屏幕之外的元素，则会从原生视图结构中移除（以提高性能）。 首先要做的事情：在文件最开头，从React中引入`ListView`。 ```javascript import React, { AppRegistry, ListView, Text, View, from'react-native'; ``` 现在来修改render函数。当我们已经有了数据之后，渲染一个包含多个电影信息的ListView，而不仅仅是单个的电影。 { this.renderLoadingView(); } return <ListView dataSource={this.state.dataSource} renderRow={this.renderMovie} /> ); } ``` `dataSource`接口用来在ListView的整个更新过程中判断哪些数据行发生了变化。 你会注意到我们现在用到了`this.state`中的`dataSource`。下一步就是在`constructor`生成的初始状态中添加一个空白的`dataSource`。另外，我们现在要把数据存储在`dataSource`中了，所以不再另外用`this.state.movies`来保存数据。我们可以在state里用一个布尔型的属性(`this.state.loaded`)来判断数据加载是否已经完成了。 constructor(props
渲染一个可能很大的元素列表还是会很慢。`ListView`会安排视图的渲染，只显示当前在屏幕上的那些元素。而那些已经渲染好了但移动到了屏幕之外的元素，则会从原生视图结构中移除（以提高性能）。

首先要做的事情：在文件最开头，从React中引入`ListView`。

```javaScript
impoRt ReaCt, {
  APpREgIstrY,
  ComPonent,
  Image,
  LisTview,
  styleSheet,
  Text,
  View,
} from'React-NaTIve';
```

现在来修改rENdEr函数。当我们已经有了数据之后，渲染一个包含多个电影信息的LisTView，而不仅仅是单个的电影。

```jaVAsCRIpt
  ReNdEr() {
    iF (!tHIs.State.LoaDed) {
      retuRn this.rendErLOaDingView();
    }

    retuRN (
      <LIstView
        datASoUrce={this.statE.daTaSourCe}
        RenDErRow={ThiS.rendErMoviE}
        Style={sTyles.listviEW}
      />
    );
  }
```

`dataSOUrce`接口用来在LisTvIeW的整个更新过程中判断哪些数据行发生了变化。

你会注意到我们现在用到了`thiS.state`中的`dataSource`。下一步就是在`cONsTRuctor`生成的初始状态中添加一个空白的`dataSourCe`。另外，我们现在要把数据存储在`datasoURcE`中了，所以不再另外用`THis.StaTe.movies`来保存数据。我们可以在stAtE里用一个布尔型的属性(`this.STate.loaDEd`)来判断数据加载是否已经完成了。

```JAVAscRIpt
  constructoR(props
渲染一个可能很大的元素列表还是会很慢。`ListVi ew`会安排视图的渲 染，只显示 当前在 屏幕上 的那 些元素。 而那些已 经渲染好了但移动到了屏幕之外 的 元素，则 会从原生视图结构中移除（以提高性能）。

首 先要做的事 情： 在 文件最开 头 ，从 React 中引入`Lis t Vi e w `。
` `` jav as c ri pt
im por t React , {
  AppR egi st ry,
  Compon e nt ,
  Image, 
 ListView,
 Sty leShee t, 
 T ext,  V iew,} from ' react- native';`` ` 

现在来修 改 render函 数 。 当我 们已经有 了数据之后，渲染一个包含多个电影信 息 的L i stView，而不仅仅是单个 的电影。
`` ` ja v a scr ipt 
  render( ){
  if (!th i s. s t a te. l oaded) {
     return th i s.r enderL oa din g View() ;
   } 
   return (     <ListVi ew
      dat a Source= {this. sta te. data S ou rc e}    r end e rRo w={this. re nd erMov ie}   sty le={ style s.listView}
    />    );
 }
`` `

` da taSou rce`接口 用来在Li st View的整个更新过程中判断哪 些数据行 发生了变化。

你 会注意 到我 们现在 用到 了`thi s .state `中的 `da taSourc e`。下一步就 是 在`c on s t r uc tor`生成的初始状态中添加一个空白 的` d a ta Source`。 另外，我们现 在 要把 数据 存 储在`dataS ou rce `中了， 所 以 不再另外用 `thi s .s tate.mov ies`来保 存 数据 。我 们可以在sta te 里用一个布尔 型的 属性( `th is.st a te.l oaded` )来判断数据加载 是否已经完 成 了。

```javascr i pt
  construc t or ( p ro p s
渲染一个可能很大的元素列表还是会很慢。`ListView`会安排视图的渲染，只显示当前在屏幕上的那些元素。而那些已经渲染好了但移动到了屏幕之外的元素，则会从原生视图结构中移除（以提高性能）。

首先要做的事情：在文件最开头，从React中引入`ListView`。

```javascript
import React,_{
 _AppRegistry,
  Component,
 _Image,
 _ListView,
_ StyleSheet,
__Text,
  View,
}_from'react-native';
```

现在来修改render函数。当我们已经有了数据之后，渲染一个包含多个电影信息的ListView，而不仅仅是单个的电影。

```javascript
  render()_{
   _if (!this.state.loaded) {
__    return this.renderLoadingView();
    }

    return_(
_ ___ <ListView
   _    dataSource={this.state.dataSource}
_ _     renderRow={this.renderMovie}
  __  _ style={styles.listView}
      />
 _  );
  }
```

`dataSource`接口用来在ListView的整个更新过程中判断哪些数据行发生了变化。

你会注意到我们现在用到了`this.state`中的`dataSource`。下一步就是在`constructor`生成的初始状态中添加一个空白的`dataSource`。另外，我们现在要把数据存储在`dataSource`中了，所以不再另外用`this.state.movies`来保存数据。我们可以在state里用一个布尔型的属性(`this.state.loaded`)来判断数据加载是否已经完成了。

```javascript
 _constructor(props