Родная база, как я могу получить ListItem индекс List dataArray? - PullRequest
0 голосов
/ 16 ноября 2018

Я хочу получить доступ к индексу, сгенерированному из dataArray.Например:

<List dataArray={this.props.groceries} renderRow={(groceryListItem, index) =>
    <ListItem>  
        <Text>{index}</Text>
    </ListItem>
    }
>
</List>

Однако это не работает.Как я могу получить доступ к этому динамическому индексу?Спасибо!

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Что такое List это ListView? Если это вы можете получить индекс 3. prop

<ListView 
renderRow={(rowData, sectionID, index) => // you can get the index from 3.
...
0 голосов
/ 16 ноября 2018

React Native FlatList имеет структуру, аналогичную вашему List компоненту, и настоятельно рекомендуется реагировать нативное сообщество на использование FlatList из-за эффективности, index отображаемого элемента легко доступен. Вот простое использование того, что вы хотите:

render() {
  return (
    <FlatList
      data={[
        {title: "title1"},
        {title: "title2"},
        {title: "title3"},
        {title: "title4"},
        {title: "title5"},
        {title: "title6"},
        {title: "title7"},
        {title: "title8"},
      ]}
      renderItem={(item) => <Text>{item.index}</Text>}
      keyExtractor={(item, index) => index.toString()}/>
  );
}

item параметр в renderItem имеет два важных свойства.

  1. index: индекс отображаемого элемента
  2. данные: данные, которые вы предоставили в плоский список, в этом примере это один из объектов массива, переданных в data реквизиты flatList, например, {title: "title1"} что я не использую эти данные в методе renderItem. вы можете делать то, что хотите, по-своему так: data={this.props.groceries}
...