[英]How to render component only once in React Native
我正在使用 Expo + React 導航。
我的 React Native 應用程序中有許多使用組件Map
屏幕。 我不希望在切換屏幕時重新渲染此組件。 有什么方法可以將我的組件Map
保存到某種存儲中,以便每次我需要Map
,我的應用程序都不必重新渲染它?
如果你想要的東西不應該重新渲染。 你在索引頁中給出了它。 如果您在索引頁面中提供它,則可以在項目中的任何地方訪問它。
示例:
每當我使用 firebase 時,我都會在 index.js 文件中初始化 firebase。
也許,您可以使用 Map 組件的shouldComponentUpdate()
。
嘗試僅在第一次渲染時返回true
,然后為功能調用返回false
以告訴 React 不要重新渲染您的組件。
react-native 與虛擬 dom 一起使用,當您切換到另一個屏幕時,我認為第一個屏幕會從您擁有地圖組件的 dom 中刪除,因此當您回來時它將重新呈現。 您可以做的是,您可以在父級渲染地圖組件,在那里您切換屏幕並將其作為子級傳遞到您的屏幕。 這是一種解決方案,但不知道它是否是最好的解決方案
如果您在第一次渲染時緩存地圖數據,然后第二次使用緩存數據以加快渲染速度會怎樣?
我建議您瀏覽Map
文檔以查找任何緩存道具,或者只包含任何支持緩存的第三方Map
組件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.