[英]Very technical- Modal takes time to load. How to reduce the load time?
[英]Mapping through local JSON file with large data in react takes some time to load. How to fix it?
我正在使用與 TypeScript 的反應。 我正在通過 JSON 文件進行映射。 在瀏覽器中呈現所有數據需要一秒鍾。 我正在使用功能組件。 這是代碼。 請幫我優化瀏覽器中的渲染時間。
import users from "../data/users.json";
const Users:React.FC=() => {
const displayUsers=users.map((item){
return(
<p> {item.username} </p>
<p> {item.location} </p>
<img src={item.avatar}/>
)
})
return(
<div className='container'>
<div className='user'>
{displayUsers}
</div>
</div>
)
}
問題:使用您當前的實現, users.map
將在組件的每次渲染時執行。
您可以使用useMemo
掛鈎對其進行優化:
import users from "../data/users.json";
const Users:React.FC = () => {
const mappedUsers = useMemo(() => {
return users.map((item) => {
return( <>
<p> {item.username} </p>
<p> {item.location} </p>
<img src={item.avatar}/>
</> )
})
}, [])
return(
<div className='container'>
<div className='user'>
{mappedUsers}
</div>
</div>
)
}
現在map
function 將在組件安裝時僅調用一次。
如果你想基於一些依賴變化使用map
重新計算數據,你可以把它放在useMemo
的依賴數組[]
中。
如果users
數據是通過某些父組件的props
進行的,您可以使用React.memo
來避免在props
相同時重新渲染 (this) 子組件。 這是React.memo
演示的相關帖子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.