因此,對于期貨和流的推薦做法之一是不要在無狀態的小部件構建函式中創建它們,因為它們會在呼叫構建函式時隨時重新創建。一個例子是這個視頻:Flutter Future Builder | 正確的方法 但是,有提供者的創建函式,特別是在這個背景關系中的 StreamProvider。
StreamProvider({
Key? key,
required Create<Stream<T>?> create,
required T initialData,
ErrorBuilder<T>? catchError,
UpdateShouldNotify<T>? updateShouldNotify,
bool? lazy,
TransitionBuilder? builder,
Widget? child,
})
我的問題是,如果我使用 create 建構式,我可以在無狀態小部件構建函式中為提供者創建流,并期望提供者知道每次呼叫構建函式時不要重新創建流嗎?
感謝您的時間。
uj5u.com熱心網友回復:
Provider 的create函式可用于創建物件(包括流),并將在重建時正確快取該值
事實上,這就是重點。創建 Provider 包的部分原因是人們忘記快取他們的 Futures/Streams/ChangeNotifiers。所以使用這個create函式,Provider 包為它的用戶處理快取。
所以是的。create在提供者的功能內創建任何東西都是安全的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/513068.html
標籤:扑颤振提供者
