小编use*_*130的帖子

是否需要使整数文字无符号?

我看到很多代码都在做,比如

static constexpr std::size_t value = 1024u;
Run Code Online (Sandbox Code Playgroud)

我明白这u是指定1024为无符号整数,但为什么要标记为unsigned

c++

7
推荐指数
1
解决办法
216
查看次数

InheritedWidget混淆

InheritedWidget 的Flutter文档说

\n
\n

有效地沿树传播信息的小部件的基类。

\n

要从构建上下文获取特定类型的继承窗口小部件的最近实例,请使用 BuildContext.inheritFromWidgetOfExactType。

\n

当以这种方式引用继承的小部件时,\n当继承的小部件本身更改状态时,将导致使用者重建。

\n
\n

鉴于 Flutter 中的小部件是不可变的,并且在示例代码中..

\n
class FrogColor extends InheritedWidget {\n  const FrogColor({\n    Key key,\n    @required this.color,\n    @required Widget child,\n  }) : assert(color != null),\n       assert(child != null),\n       super(key: key, child: child);\n\n  final Color color;\n\n  static FrogColor of(BuildContext context) {\n    return context.inheritFromWidgetOfExactType(FrogColor);\n  }\n\n  @override\n  bool updateShouldNotify(FrogColor old) => color != old.color;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

颜色属性final因此无法重新分配。假设这个小部件位于树的顶部,就像大多数示例一样,它什么时候会有用。对于要替换的小部件,必须创建一个新实例。

\n

据推测,在完成此操作的情况下,也将创建作为子级传递的任何内容的新实例,从而导致该子级的后代也进行重建,创建其子级的新实例等。

\n

无论如何,最终还是重建了整棵树。inheritFromWidgetOfExactType那么,当 InheritedWidget 实例的数据永远不会改变该实例时,使用 using 进行选择性更新是没有意义的?

\n

编辑:

\n

这是我不明白的最简单的例子,我可以将它们放在一起。\n在这个例子中,“更改” …

dart flutter inherited-widget

6
推荐指数
1
解决办法
4511
查看次数

标签 统计

c++ ×1

dart ×1

flutter ×1

inherited-widget ×1