From 249f157ed92b6f3e98f3181e0568fa08c1296172 Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Tue, 12 Jul 2016 21:18:15 -0700 Subject: [PATCH] [fix] ListView child layout Fix #166 --- README.md | 2 +- src/components/ListView/index.js | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 1c533371..8a236236 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Build Status][travis-image]][travis-url] [![npm version][npm-image]][npm-url] -![gzipped size](https://img.shields.io/badge/gzipped-~41.0k-blue.svg) +![gzipped size](https://img.shields.io/badge/gzipped-~48.6k-blue.svg) [React Native][react-native-url] components and APIs for the Web. diff --git a/src/components/ListView/index.js b/src/components/ListView/index.js index ca5fe456..203ec5dc 100644 --- a/src/components/ListView/index.js +++ b/src/components/ListView/index.js @@ -3,6 +3,8 @@ import React, { Component } from 'react' import ScrollView from '../ScrollView' import ListViewDataSource from './ListViewDataSource' import ListViewPropTypes from './ListViewPropTypes' +import View from '../View' +import pick from 'lodash/pick' const SCROLLVIEW_REF = 'listviewscroll' @@ -64,7 +66,7 @@ class ListView extends Component { if (renderSectionHeader) { const section = dataSource.getSectionHeaderData(sectionIdx) const key = 's_' + sectionId - const child =
{renderSectionHeader(section, sectionId)}
+ const child = {renderSectionHeader(section, sectionId)} children.push(child) } @@ -73,7 +75,7 @@ class ListView extends Component { const rowId = rows[rowIdx] const row = dataSource.getRowData(sectionIdx, rowIdx) const key = 'r_' + sectionId + '_' + rowId - const child =
{renderRow(row, sectionId, rowId, this.onRowHighlighted)}
+ const child = {renderRow(row, sectionId, rowId, this.onRowHighlighted)} children.push(child) // render optional separator @@ -88,12 +90,9 @@ class ListView extends Component { } } - const { - renderScrollComponent, - ...props - } = this.props + const props = pick(ScrollView.propTypes, this.props) - return React.cloneElement(renderScrollComponent(props), { + return React.cloneElement(this.props.renderScrollComponent(props), { ref: SCROLLVIEW_REF }, header, children, footer) }