在另一个屏幕上反应本机使用状态

问题描述

所以我的主屏幕中有一个this.state.comments,这是一个数组。在另一个名为“注释”屏幕的屏幕上,我想显示该状态的结果。我也喜欢使用该数组,我的意思是this.state.comments并将其显示在“评论”屏幕的FLATLIST中。该文件“注释屏幕”仅具有一个功能,并且在其中包含一个平面列表。有帮助吗?

解决方法

Home中使用this.props.navigation.navigate('Comments',{comments: this.state.comments})

,如果使用react-navigation v4,请在Comments屏幕上使用:

const commentsArray = this.props.navigation.getParam('comments')

如果使用react-navigation v5,请使用:

const commentsArray = this.props.route.params.comments;

,

作为对您对图片的评论的回应,如果Komentar是在导航配置中添加的屏幕,您将执行以下操作:

const Komentar = (props) =>{
 const commentsArray = props.navigation.getParam('comments');
return(
 // your code here 
)}

因为它是功能组件,所以您不能使用this来访问道具。