Tom*_*ran 6 optimization performance dart flutter
使用小部件的初始方法的经验法则是什么?我应该使用:
根据我的测试,两者似乎都有效。在代码减少方面,似乎 B. 方法更好、更短、更干净、更具可读性。性能方面又如何呢?还有什么我可能会错过的吗?
Rom*_*uez 15
初始化控制器应该是一次性操作;如果您在StatelessWidget的构建方法上执行此操作,则每次重建此小部件时都会触发它。如果您在StatefulWidget的initState上执行此操作,则只会在初始化 State 时将该对象插入到树中时调用一次。
我正在寻找基于无状态小部件中构造函数中传递的值来初始化一些值。因为我们都知道,对于 StatefulWidget,我们有 initState() 重写回调来初始化某些值等。但是对于 Stateless Widget,默认情况下没有给出任何选项。如果我们在 build 方法中执行此操作,则每次视图更新时都会调用它。所以我正在做下面的代码。有用。希望它能帮助某人。
import 'package:flutter/material.dart';
class Sample extends StatelessWidget {
final int number1;
final int number2;
factory Sample(int passNumber1, int passNumber2, Key key) {
int changeNumber2 = passNumber2 *
2; //any modification you need can be done, or else pass it as it is.
return Sample._(passNumber1, changeNumber2, key);
}
const Sample._(this.number1, this.number2, Key key) : super(key: key);
@override
Widget build(BuildContext context) {
return Text((number1 + number2).toString());
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24654 次 |
| 最近记录: |