Flutter 如何在子窗口小部件中定义Navigator.pop()响应类型
父窗口小部件Flutter 如何在子窗口小部件中定义Navigator.pop()响应类型,flutter,dart,flutter-navigation,Flutter,Dart,Flutter Navigation,父窗口小部件 String pincode = await Navigators.root.currentState.push( MaterialPageRoute<String>( builder: (context) => ChildWidget(), ), ); 我的担忧: 如果有人更改了子项.pop则响应bool。 IDE永远不会知道并在父窗口小部件中显示警告 如果不研究子窗口小部件的实现, 您将不知道它返回的是什么类型 当前解决方案 class C
String pincode = await Navigators.root.currentState.push(
MaterialPageRoute<String>(
builder: (context) => ChildWidget(),
),
);
我的担忧:
.pop
则响应bool
。
IDE永远不会知道并在父窗口小部件中显示警告当前解决方案
class ChildResult {
final String pincode;
ChildResult({ this.pincode });
}
class Child extends HookWidget {
...
Navigators.root.currentState.pop(ChildResult(pincode: pincode));
...
}
我当前的解决方案是创建一个[Widget]结果
类,
并告诉我的同事对所有小部件都保持相同的做法,
因此,至少我可以预览IDE中的值名称/类型
还有其他解决方案吗?据我所知,目前无法在导航器上定义pop函数的类型。当您调用pop时,类型是动态的,因为它不知道它将被弹出到堆栈中的哪个页面(小部件)
class ChildResult {
final String pincode;
ChildResult({ this.pincode });
}
class Child extends HookWidget {
...
Navigators.root.currentState.pop(ChildResult(pincode: pincode));
...
}