当状态随 Provider 发生变化时,使用 StatelessWidget 是安全的吗?

It is safe to use StatelessWidget when the state changes with a Provider?

我看到 flutter 团队这样建议:​​

For example, in Android, this is similar to placing an ImageView with your logo. The logo is not going to change >during runtime, so use a StatelessWidget in Flutter. If you want to dynamically change the UI based on data received after making an HTTP call or user interaction then you have to work with StatefulWidget and tell the Flutter framework that the widget’s State has been updated so it can update that widget. https://flutter.dev/docs/get-started/flutter-for/android-devs#how-do-i-update-widgets

我正在使用 provider,它允许您使用 ChangeNotifierProvider 重建小部件树。

如果我有一个 StatelessWidget 并且我们使用 ChangeNotifierProvider,当 ChangeNotifier 通知更改时,build 函数仍然被调用多次,并且小部件重建,这让我很困惑 StatelessWidgetStatefullWidget.

之间的区别
  1. 如果我们在其中使用 ChangeNotifierProvider,那么使用 StatelessWidget 是安全的吗?
  2. StatefullWidget 相比,使用 StatelessWidget 是否有任何性能提升?

“安全”不适用,因为 setStateState class 上的一种方法,并且由于 StatelessWidget 没有其中之一,因此甚至不会出现。并且没有关于性能的广泛全面的规则。试一试,看看。

这有点令人困惑,但这个解释可能会有所帮助:

由于 ChangeNotifierProvider 将处理状态,因此父级(您的小部件)不需要 Statefull,该责任转到 ChangeNotifierProvider 小部件。