Реагировать на собственный Flatlist ListHeaderComponent вызывает ошибку: исключение в собственном вызове из JS null - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть Flatlist, что он прекрасно работает до обновления, реагирует на нативную версию с 0,55 до 0,57

Он работал нормально на всех устройствах, но теперь он работает только на версиях Android> = 5 и на Android 4 с самого начала.на экране отображается ошибка:

Exception in native call from JS 

null

Я пытался 2 недели много, и теперь я действительно не знаю, что делать.

Ну ... Это мой Flatlist.и я обнаружил, что проблема в ListHeaderComponent

И если я заменил ListItem и поместил детей в тег Button, он не показывает эту ошибку:

Это показывает ошибку:

  return (
            <FlatList
                data={this.state.items}
                renderItem={this.renderItem}
                shouldItemUpdate={(props, nextProps) => {
                    return props.item !== nextProps.item
                }}
                keyExtractor={(item, index) => index.toString()}
                ListEmptyComponent={() => this.state.loading ? <MySpinner notMax={true}/> : []}
                ListHeaderComponent={() => (
                         <ListItem itemDivider style={Styles.ListItem}>
                              <TouchableWithoutFeedback onPress={() => Actions.categories_page({title:'categories'})}>
                                 <View>
                                      <Text textStyle={Styles.ListItemAllBtn}>Category</Text>
                                 </View>
                             </TouchableWithoutFeedback>
                             <Text textStyle={Styles.ListItemText}>today off</Text>
                         </ListItem>
                    ) }
                numColumns={2}
                // refreshing={this.state.refreshing}
                // onRefresh={this.handleRefresh}
                removeClippedSubviews={false}
                showsHorizontalScrollIndicator={false}
                onEndReached={this.props.isLimit ? '' : this.handleLoadMore}
                onEndReachedThreshold={0.8}
                initialNumToRender={8}
                horizontal={this.props.horizontal}
                ListFooterComponent={this.renderFooter}
                getItemLayout={this.getItemLayout}
                inverted={this.props.horizontal ? true : false}
            />
        )

и если я напишу ListHeaderComponent, как это Это не показывает ошибку:

       ListHeaderComponent={() => (
              <View style={Styles.ListItem}>
                     <Button>
                           <Text textStyle={Styles.ListItemAllBtn}>Category</Text>
                     </Button>
              </View>
       )}

Но я не хочу писать тег кнопки и поставить мой текст insdeтот.Я думаю, что проблема в другом ...

Кто-нибудь может помочь?

...