React-native-gesture-handler: Controle de atualização FlatList

Criado em 3 mai. 2019  ·  3Comentários  ·  Fonte: software-mansion/react-native-gesture-handler

Substituir a FlatList nativa reativa padrão pela desta biblioteca fez com que a atualização não funcionasse. Estou configurando os adereços de atualização e onRefresh como normais e nenhum controle de atualização aparece. Existe alguma configuração adicional para esta biblioteca?

Comentários muito úteis

@ tallen11 - Eu tive o mesmo problema, parece que o componente FlatList do gerenciador de gestos lib não suporta onRefresh & refreshing props diretamente no componente, como o RN componente. Em vez disso, adicione o RefreshControl elemento prop para o FlatList componente assim:

<FlatList
  refreshControl={
    <RefreshControl
      refreshing={this.state.isRefreshing}
      onRefresh={() => this.refreshMethod()}
    />
  }
/>

Todos 3 comentários

Você poderia adicionar algum exemplo? Estou usando e funciona bem para mim

@ tallen11 - Eu tive o mesmo problema, parece que o componente FlatList do gerenciador de gestos lib não suporta onRefresh & refreshing props diretamente no componente, como o RN componente. Em vez disso, adicione o RefreshControl elemento prop para o FlatList componente assim:

<FlatList
  refreshControl={
    <RefreshControl
      refreshing={this.state.isRefreshing}
      onRefresh={() => this.refreshMethod()}
    />
  }
/>

Eu tenho o mesmo problema.

@osdnk - Digamos que temos o seguinte:
<FlatList data={data} renderItem={renderItem} refreshControl={ <RefreshControl refreshing={refreshing} onRefresh={onRefresh} /> } />;

Percebi que o RNGH se comporta de maneira diferente nos dois cenários a seguir:

1) RefreshControl funcionará se renderItem tiver a seguinte forma:
const renderItem = () => ( <View> <Text>Foo</Text> </View> )

2) Mas não funciona para o seguinte:
const renderItem = () => ( <View> <Text>Foo</Text> <Text>Bar</Text> </View> )

Não tenho ideia do que está causando isso, embora

Esta página foi útil?
0 / 5 - 0 avaliações