簡體   English   中英

如何在 React Native 中只渲染一次組件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM