使用继承的小部件传递小部件密钥
Pass widget key with inherited widget
有没有办法通过继承的小部件(provider、riverPod、InheritedWidget..等)传递小部件密钥。
如果是,优缺点是什么
我想要做的是使小部件成为常量(在小部件树中)并将键作为继承的小部件传递,因为它不能是常量,因为键来自对象。
const MyWidget({
Key key,
}):super(key: key);
这对您来说应该是一本好书 material:
https://medium.com/coding-with-flutter/flutter-global-access-vs-scoped-access-with-provider-8d6b94393bdf
在我看来,使用 InheritedWidget (Provider) 或 riverpod - 这将是范围访问注入 - 是一个很好的方法。您的替代方法是制作一个全局变量,这是一种可测试性较差(或根本不可测试)的方法。
更新:这是将密钥传递给小部件的方式:
MyCustomWidget({
required this.widgetData
required final Key key,
}) : super(key: key);
有没有办法通过继承的小部件(provider、riverPod、InheritedWidget..等)传递小部件密钥。
如果是,优缺点是什么
我想要做的是使小部件成为常量(在小部件树中)并将键作为继承的小部件传递,因为它不能是常量,因为键来自对象。
const MyWidget({
Key key,
}):super(key: key);
这对您来说应该是一本好书 material: https://medium.com/coding-with-flutter/flutter-global-access-vs-scoped-access-with-provider-8d6b94393bdf
在我看来,使用 InheritedWidget (Provider) 或 riverpod - 这将是范围访问注入 - 是一个很好的方法。您的替代方法是制作一个全局变量,这是一种可测试性较差(或根本不可测试)的方法。
更新:这是将密钥传递给小部件的方式:
MyCustomWidget({
required this.widgetData
required final Key key,
}) : super(key: key);