【发布时间】:2020-05-14 05:32:57
【问题描述】:
在下面的代码中,我已将 set state 作为无状态小部件中的函数调用传递,这怎么可能?有人请解释我这个概念。 提供评论以寻求帮助。
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget { //STATEFUL WIDGET
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () {
Demo(function: () {
setState(() {}); //PASSING SET STATE
});
},
),
);
}
}
class Demo extends StatelessWidget { //STATE LESS WIDGET
final Function function;
Demo({this.function});
@override
Widget build(BuildContext context) {
return Container();
}
}
【问题讨论】:
-
参考此演示示例以在 State 或无状态 stackoverflow.com/a/61743422/3946958987654321@ 中传递值
-
不,问题是我如何在无状态小部件中传递设置状态调用,因为无状态小部件不知道什么是设置状态,所以我如何将它作为参数传递。我知道我可以通过,但(为什么)是我的问题
-
Demo(function: () { setState(() {}); //PASSING SET STATE });是否正常工作,或者您将此类回调传递给其他小部件有任何问题? -
即使我已经开发了一个成熟的应用程序,它也能正常工作,但问题是(如何)。
-
你用过
RaisedButton/OutlineButton/FlatButton吗?他们有onPressed属性-这完全一样-您正在将一些函数传递给该按钮,并且在执行单击时,该按钮会调用该回调函数
标签: function flutter dart flutter-layout