我正在使用Expo + React Navigation。
我的React Native应用程序中有许多屏幕使用组件Map
。每当切换屏幕时,我都不希望重新呈现此组件。有没有办法将我的组件Map
保存到某种存储空间中,这样每次我需要Map
时,我的应用都不需要重新渲染它?
答案 0 :(得分:1)
如果你想要的东西不应该重新渲染。你在索引页面中给出了它。如果你在索引页面中给它,它可以在项目的任何地方访问。
示例:强>
每当我使用firebase时,我都会在index.js文件中初始化firebase。
答案 1 :(得分:0)
可能您可以使用地图组件的shouldComponentUpdate()
进行游戏。
尝试仅为第一个渲染返回true
,然后返回false
进行要素调用,以告知React不要重新渲染您的组件。
答案 2 :(得分:0)
react-native与虚拟dom一起使用,当您切换到另一个屏幕时,我认为第一个屏幕已从您拥有地图组件的dom中删除,因此当您回来时它将重新呈现。您可以做的是,可以在切换屏幕的父级渲染地图组件,并将其作为子级传递到屏幕。这是一个解决方案,但不知道它是否是最佳解决方案
答案 3 :(得分:0)
如果您在第一次渲染时缓存地图数据,然后第二次使用缓存的数据以更快地渲染怎么办?
我建议您浏览Map
文档以查找任何缓存道具,或者仅包括支持缓存的任何第三方Map
组件。