React native 如何将React导航与平面列表中的元素一起使用';s头球?

React native 如何将React导航与平面列表中的元素一起使用';s头球?,react-native,react-navigation,react-native-flatlist,flatlist,React Native,React Navigation,React Native Flatlist,Flatlist,我可以在renderItem中完美地导航,但是当我尝试在我在标题中使用的组件中单击时,它会说“Undefined不是一个对象(评估'\u this.props.navigation.navigate')) 这就是我试图在传递给扁平列表标题的组件中导航的方式 this.props.navigation.navigate('Profile',{data:info})}>只是一种预感,但我猜该组件是为ListHeaderComponent传递的,而不是带有navigation属性的呈现元素 例如: f

我可以在renderItem中完美地导航,但是当我尝试在我在标题中使用的组件中单击时,它会说“Undefined不是一个对象(评估'\u this.props.navigation.navigate'))

这就是我试图在传递给扁平列表标题的组件中导航的方式
this.props.navigation.navigate('Profile',{data:info})}>

只是一种预感,但我猜该组件是为
ListHeaderComponent
传递的,而不是带有
navigation
属性的呈现元素

例如:

function Parent(props) {
  // Here the FlatList will render the header as <MyHeader /> with no props
  // If this.props.navigation is called in MyHeader it will be undefined
  return (
    <FlatList ListHeaderComponent={MyHeader} ... />
  );
}
功能父级(道具){
//在这里,FlatList将标题呈现为没有道具
//如果在MyHeader中调用this.props.navigation,它将是未定义的
返回(
);
}
vs

功能父级(道具){
//这里,MyHeader首先呈现为一个元素,通过
//必要的导航道具
警察局长=();
返回(
);
}

我将导航道具传递给ListHeaderComponent,它可以工作,因为呈现的元素给了我一些其他问题

我就是这样做的

return(
            <SafeAreaView style={styles.container}>
                <FlatList
                    ListHeaderComponent={
                        <>
                            <Header navigation={this.props.navigation}/>
                        </>
                    }
                    style={styles.scrollView}
                    numColumns='2'
                    columnWrapperStyle={{justifyContent: 'space-between'}}
                    data={ex}
                    renderItem={renderItem}
                    keyExtractor={(item, index) => index.toString()}
                />
            </SafeAreaView>
        );
返回(
index.toString()}
/>
);

您能在这里发送更多带有标题代码的代码吗?请提供可复制的代码
return(
            <SafeAreaView style={styles.container}>
                <FlatList
                    ListHeaderComponent={
                        <>
                            <Header navigation={this.props.navigation}/>
                        </>
                    }
                    style={styles.scrollView}
                    numColumns='2'
                    columnWrapperStyle={{justifyContent: 'space-between'}}
                    data={ex}
                    renderItem={renderItem}
                    keyExtractor={(item, index) => index.toString()}
                />
            </SafeAreaView>
        );