Suppose I want to initialize a text field by using the initialValue: property on a TextFormField, and I need my initial value to come from a provider. I read on the docs that calling read() from inside the build method is considered bad practice, but calling from handlers is fine (like onPressed). So I'm wondering if its fine to call read from the initialValue property like shown below?
Flutter Riverpod - using read() inside build method
2.9k Views Asked by AudioBubble At
1
There are 1 best solutions below
Related Questions in FLUTTER
- Flutter + Dart: Editing name of a tab shows up a black screen
- The Binary Version Of its metadata is 1.8.0, expected Version is 1.6.0 build error
- Way to get CustomPainter to track face in Camera Flutter MLKit
- flutter Null check error: did not show file and line number
- Creating multiple instances of a class with different initializing values in Flutter
- I want to paste stickers into to my TextField and to show the stickers beside the emojis
- Flutter plugin development android src not opening after opening example
- Module not found when building flutter app for IOS
- How to make barrier area interactive in flutter modal bottom sheet
- Can an RPC result be included in a Supabase select function in Flutter for Data Modeling?
- Why do I need to wait to reaccess to Firestore database even though it has already done before?
- Flutter web app on Windows -how to support mouse drag for horizontal and vertical scrolling as well as using mouse wheel
- I wrote this time displaying FLUTTER app, How can I improve it?
- Appwrite and / or Spring Boot Backend
- Flutter two_dimensional_scrollables Web app Chrome - cannot get horizontal scroll to work?
Related Questions in FLUTTER-PROVIDER
- how to Navigate from Listview Builder and access and show the selected Product in Flutter using provider?
- setState() or markNeedsBuild() called during build problem
- Flutter | Background_fetch: fetching data based on provider, in background
- Statemanagement Flutter: Consumer not notified
- Instantiating ChangeNotifierProvider with Parameter
- when i add video youtube i got error when it is empty
- What's the purpose of a ChangeNotifierProvider?
- How do I run a dialog function when a value in my provider changes to 1?
- Unable to Navigate to Other Screens After Logging In Flutter
- How to pass different Riverpod Ref types to a callback?
- How can I efficiently handle initialization and disposal of TextEditingController with Provider in Flutter?
- Why does the Futurebuilder widget show an old snapshot?
- flutter reload page not working when i use provider
- Flutter setstate or markneedbuild called during build
- Consuming a FutureProvider and a StreamProvider in a widget
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?

No, you should use
useProviderif you are using hooks, or aConsumerWidget/Consumerif you are not.The difference being, the
initialValuefield is a part of the build method, and like you said,onPressedis a handler, outside of the build method.A core aspect of providers is optimizing rebuilds as provided values change. Using
context.readin the build method is nullifying this benefit as you aren't listening to the provided value.Using
context.readis highly recommended in anonymous functions (onChanged,onPressed,onTap, etc.) because those functions are retrieving the provided value at the time the function is executed. This means the function will always execute with the current value of that provider, without having to listen to the provider. The other methods for reading providers use a listener which is more expensive and unnecessary in the case of anonymous functions.In your example, you wanted to set
initialValueof aTextFormField. The following is how you could use hooks_riverpod and flutter_hooks to accomplish that.And for readers who prefer to not use hooks:
Or:
The primary difference being that
Consumerwill only rebuild its children because only they are relying on provided data.