inheritFromWidgetOfExactType จะเลิกใช้ขึ้นอยู่กับOnInheritedWidgetOfExactTypeแทน


23

ตั้งแต่การปล่อย Flutter 1.12 รหัสของฉันต่อไปนี้:

static MyInheritedWidget of(BuildContext context) {
  return context.inheritFromWidgetOfExactType(MyInheritedWidget) as MyInheritedWidget;
}

เตือนด้วยสิ่งต่อไปนี้:

'inheritFromWidgetOfExactType' เลิกใช้แล้วและไม่ควรใช้ ใช้ dependOnInheritedWidgetOfExactType แทน คุณลักษณะนี้เลิกใช้หลังจาก v1.12.1 .. ลองแทนที่การใช้สมาชิกที่เลิกใช้แล้วด้วยการแทนที่

แต่เมื่อฉันพยายามแทนที่มันไม่ทำงาน:

static MyInheritedWidget of(BuildContext context) {
  return context.dependOnInheritedWidgetOfExactType(MyInheritedWidget) as MyInheritedWidget;
}

มีคนรู้วิธีที่จะทำ? ขอบคุณ!

คำตอบ:


77

API เปลี่ยนแปลงเล็กน้อย

ตอนนี้แทนที่จะใช้Typeอาร์กิวเมนต์เป็นวิธีการทั่วไป

ก่อน:

final widget = context.inheritFromWidgetOfExactType(MyInheritedWidget) as MyInheritedWidget;

หลังจาก:

final widget = context.dependOnInheritedWidgetOfExactType<MyInheritedWidget>();

โปรดทราบว่าการโยนนั้นไม่จำเป็นอีกต่อไป


2
ขอบคุณ! ฉันพบมันที่นี่ด้วย: github.com/flutter/flutter/blob/master/packages/flutter/test/…
Jose Jet
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.