Разные, разные элементы FlatList в React Native без данных - PullRequest
0 голосов
/ 01 октября 2019

Хороший оле <FlatList/> отображается так: React Native:

function ListItem() {
    return (<View></View>);
}

function MyList({renderData}) {
    return (
    <FlatList
      data={renderData}
      renderItem={
        ({item}) => {
          return (
            <ListItem 
              fieldOne={item.fieldOne} 
              fieldTwo={item.fieldTwo}
            />
            )
        }
      }
    />
    )
}

Это хорошо работает, когда FlatList содержит только один тип элемента (в данном случае ListItem). Тем не менее, он не позволяет использовать разные компоненты во всем FlatList, если мы не сделаем некоторые renderItem махинации:

function ListItem() {
    return (<View></View>);
}
function ListItemTwo() {
    return (<View></View>);
}
function MyList({renderData}) {
    return (
    <FlatList
      data={renderData}
      renderItem={
        ({item}) => {
          if( item.listItemType == 0 ){
          return (
            <ListItem 
              fieldOne={item.fieldOne} 
              fieldTwo={item.fieldTwo}
            />
            )
          } else {
            return <ListItemTwo fieldOne={item.fieldOne} fieldTwo={item.fieldTwo} />
          }
        }
      }
    />
    )
}

Это работает, но это зависит от дополнительного поля в каждом элементе данных: item.listItemType, и это также зависит от наличия дополнительного элемента данных, сохраненного в данных для каждого дополнительного элемента, который я хочу отобразить.

Я ищу решение, которое вместо этого позволяет жестко кодировать дополнительный компонент, который не зависит от этого дополнительного элемента, присутствующего в данных, и вообще не зависит от данных.

По сути, я хочу создать элемент в конце <FlatList>, у которого нет соответствующего элемента в данных FlatList, так как ему не нужно отображать данные. Возможно ли это в React Native? Как?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...