Comments (10)
Oh, that kind of access. I thought you talked about ancestorStateOfExactType
, my bad.
With hooks you shouldn't use methods, and instead inline functions inside the build method:
class Foo extends HookWidget {
@override
Widget build(BuildContext context) {
final counter = useState(0);
void incrementCounter() {
counter.value++;
}
return RaisedButton(
onPresssed: incrementCounter,
child: Text(counter.value.toString()),
);
}
}
from flutter_hooks.
Oh, that kind of access. I thought you talked about
ancestorStateOfExactType
, my bad.With hooks you shouldn't use methods, and instead inline functions inside the build method:
class Foo extends HookWidget { @override Widget build(BuildContext context) { final counter = useState(0); void incrementCounter() { counter.value++; } return RaisedButton( onPresssed: incrementCounter, child: Text(counter.value.toString()), ); } }
If we create our methods within the build method in Flutter, will it not impact performance because the method will be recreated every time the build method is called?
from flutter_hooks.
This is generally considered a bad practice to access the State
class. It is an implementation detail.
Instead you should explicitly expose the desired values through an Inheritedwidget (provider
package?) or constructors.
from flutter_hooks.
Sorry for the late reply, but I don't follow what you mean that is bad practise to "access the state".
When using "flutter create" to setup a new project, the _MyHomePageState has a method called _incrementCounter that modifies the state of the widget. Is this bad practise?
Using a HookWidget, should methods on this object never be able to modify its own state ?
from flutter_hooks.
Ahh, ofc. Makes sense. Dont know why I didnt think of that.
Thanks for helping out!
from flutter_hooks.
This reinforces the idea that a class is a bit pointless with hooks.
If you haven't already, I encourage you to give functional_widget
a try!
from flutter_hooks.
I will check it out, thx
from flutter_hooks.
Hitting this issue myself, but figured the only way around it is to have functions, vars, etc defined within the build method.
Got an example of the functional_widget you mention?
from flutter_hooks.
figured the only way around it is to have functions, vars, etc defined within the build method.
That's expected. Do that.
from flutter_hooks.
Oh, that kind of access. I thought you talked about
ancestorStateOfExactType
, my bad.
With hooks you shouldn't use methods, and instead inline functions inside the build method:class Foo extends HookWidget { @override Widget build(BuildContext context) { final counter = useState(0); void incrementCounter() { counter.value++; } return RaisedButton( onPresssed: incrementCounter, child: Text(counter.value.toString()), ); } }If we create our methods within the build method in Flutter, will it not impact performance because the method will be recreated every time the build method is called?
I saw a similar SO question and the answers unanimously said it's a bad practice.
from flutter_hooks.
Related Issues (20)
- [BUG] shouldPreserveState may wrongfully preserve state when it shouldn't HOT 1
- Feature Request: `useListener` hook HOT 3
- about the useMemoized API description
- Add useSound Hook HOT 2
- flutter_hooks: ^0.20.3 HOT 2
- Add hook to observe `didChangeDependencies`
- Why list not updating? HOT 7
- EditText reverting to previous value HOT 2
- Implement useTabControllerList for List<TabController> HOT 6
- Clarify usage of useFuture through documentation HOT 1
- Inconsistency in AppLifecycleState Detection Between iOS and Android in Flutter Hooks HOT 5
- Possibility of deprecating useIsMounted HOT 2
- `when` for `AsyncSnapshot` HOT 1
- Assertion Error with useExpansionTileController HOT 5
- a hook for the DraggableScrollableController HOT 2
- Using useFuture and useStream keeps invoking the widget build method unnecessarily. HOT 5
- Setting TextEditingController.text selects input in TextField in Web HOT 1
- onAttach and onDetach is missing on usePageController
- ERROR: Undefined class 'WidgetStatesController'. HOT 4
- [Feature Request] Is it possible to implement `useSWR` in flutter_hooks HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flutter_hooks.