【发布时间】:2018-11-28 17:52:48
【问题描述】:
我有componentDidMount 列出屏幕 A 中的一组文件(图像),从这个屏幕 A 我有另一个屏幕 B 链接,我可以在其中查看文件的详细视图,并且我可以选择删除文件。
当使用
调用屏幕 A 时 <TouchableOpacity style={Styles.HomeButton} onPress={ () => this.props.navigation.navigate('Gallery')}>
<Text style={Styles.HomeButtonText}>View Photos</Text>
</TouchableOpacity>
componentDidMount 工作正常,但是当我在取消链接回调时删除文件(我使用 react-native-fs)时,我正在调用导航
this.props.navigation.navigate('Gallery');
重定向到屏幕 A 可以正常工作,但 componentDidMount 无法正常工作,这意味着我仍然可以在列表中看到已删除的文件。
即屏幕A不刷新,有什么可能的解决办法吗?
【问题讨论】:
-
我认为即使您转到屏幕 B,屏幕 A 组件也永远不会卸载,您可以解决它的方法是将屏幕 A 上显示的所有文件列表添加到状态。并将回调函数作为道具传递给您更新状态 i 的屏幕 B 组件。 e.从文件列表中删除元素(文件)。希望这会有所帮助!
标签: react-native react-navigation react-lifecycle