簡體   English   中英

反應-在道具變更時重新渲染是否錯誤?

[英]React - is it wrong to rerender on props change?

我在簡單的待辦事項列表中有從數據庫獲取的json數據。 我已經實現了它,所以我將這些數據保存在props中,然后將其傳遞給子組件。 我現在使用狀態的唯一方法是過濾這些數據:(顯示全部,顯示完成,顯示正在進行)。

現在,我想向數據庫添加回溯。 這意味着添加新項/刪除舊項。 問題是,如果我實現了將新任務添加到數據庫的添加按鈕,它將不會自動重新呈現應用程序,因此更改將不會顯示,直到刷新頁面為止。

所以我的問題是。 在這種情況下,在React中強制調用渲染是否正確? 還是應該完全修改應用程序並更改現在支持的任務數組,以便在更新數據庫時同時聲明和更新它?

感謝您的回答:)

我認為是否需要重新渲染取決於是否應更新組件。 在這種情況下,應該有新項目。

至於進入狀態,我認為您無需重寫組件即可使用狀態而不是道具。 您可以只實現shouldComponentUpdate並檢查待辦事項列表是否已更改(請注意不要更改待辦事項列表道具!)。

如果您使用的是React.PureComponent,那么您就無需理會shouldComponentUpdate ,它會在任何狀態或道具更改時自動更新

將您的數據(在Json中)用作React Function組件或Class組件的道具非常好並且經常使用。

假設您使用類組件(或僅使用React App組件)並使數據保持該組件的最新狀態,則可以添加成員函數來添加和刪除項。 我建議您將用戶界面與您的用戶操作保持同步,並建議使用表單提交處理程序來處理所有數據庫更改(如果這種情況對您而言可行)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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