使用redux時是否曾經使用過this.setState()
?或者你應該總是調度行動,並依靠道具?在使用redux時你是否曾經使用this.setState()?
回答
setState
的清除用途將用於具有本地顯示狀態但與全局應用程序無關的UI組件。例如,表示特定下拉菜單是否被主動顯示的布爾值不需要處於全局狀態,因此可以更方便地通過菜單組件的狀態進行控制。
其他示例可能包括分層結構的手風琴顯示中的線條的合攏/展開狀態。或者可能是選項卡導航中當前選定的選項卡。但是,在這兩個示例中,您仍可能選擇全局處理UI狀態。例如,如果您希望在瀏覽器存儲中保留展開/摺疊狀態,以便通過頁面刷新來保留它,則這將是必需的。
在實踐中,通常最容易實現具有本地狀態的UI元素,並根據需要將它們重構爲全局狀態。
爲了跟上這一點,相關的Redux FAQ條目強調**使用'setState'完全正確**:http://redux.js.org/docs/faq/OrganizingState.html#organizing-state-only -redux-state – markerikson
如果您要切換或使用服務器端渲染,我認爲您應該始終使用Redux – neaumusic
- 1. SAS Proc SQL在合併時是否曾經使用過索引
- 2. 使用ExpressionEngine,你是否曾經用編輯器編輯過代碼,或者它是否都在EE中?
- 3. 你是否曾經在API中爲布爾類型返回null?
- 4. 您是否曾經能夠使用Office Communicator 2007 R2創建BOT
- 5. 您是否曾經使用if let語句中指定的值
- 6. IsPrimaryKeyJoinColumnName()曾經在Hibernate中使用5 ImplicitNamingStrategy?
- 7. 什麼是你曾經使用過的最好的javascript編輯器加載項
- 8. 你是否曾經需要用匯編語言編寫真正的代碼?
- 9. .NET/C# - Reflection - 曾經使用過的System.IO.File
- 10. 刪除哪些曾經「\」後使用PowerShell
- 11. JSON.NET:爲什麼使用JToken - 曾經?
- 12. 任何曾經使用過GreenPlum的人?
- 13. 您是否曾經在線程池線程上使用await關鍵字
- 14. 您是否曾經在任何Ruby代碼中使用過「類實例變量」?
- 15. * .tlb文件曾經在運行時使用過嗎?
- 16. 檢測用戶是否曾經安裝過應用程序,即使已刪除
- 17. 知道兩個邊界是否曾經
- 18. Object.GetType()是否曾經返回null?
- 19. Redux動作創建者在使用Redux-Thunk時是否可熱重新加載?
- 20. 你曾經墜毀過編譯器嗎?
- 21. 何時使用Redux?
- 22. 使用'iso-8859-1'解碼字節串是否曾經引發過UnicodeDecodeError
- 23. 什麼是您曾經使用過的最佳優化?
- 24. 是否曾經調用過WCF命名空間?
- 25. 無效,但它曾經是
- 26. 是否可以使用redux-form而不使用connect()?
- 27. 如何知道用戶曾經使用該應用程序
- 28. 使用箭頭功能時,this.setState不是函數
- 29. 使用Javascript - 添加橙色曾經在fruitslist下拉列表
- 30. 你曾經對你自己的Forked repo做過pull request嗎?
讓某些組件具有狀態沒有任何問題。 – zerkms
這完全取決於國家在哪裏使用。把redux店看作是全球性的。任何不需要成爲全球的東西都可以對組件及其子項保持私有。 – azium