स्पंदन ChangeNotifierProvider बिल्डर पदावनत है


12

मेरे पास यह कोड मेरे main.dart में है:

main() {
  runApp(
    MultiProvider(
      providers: [
        ChangeNotifierProvider(builder: (context) => Auth()), // /**problem here. builder displayed with strikethrough line**/
      ],
      child: App(),
    ),
  );
}

लगभग 2 दिन पहले से, मेरा दृश्य स्टूडियो कोड इस चेतावनी को दिखा रहा है:

यहां छवि विवरण दर्ज करें

इसलिए मुझे लगता है कि ChangeNotifierProvider पर बिल्डर पैरामीटर को हटा दिया गया है। मैंने हर जगह खोज की लेकिन इस बिल्डर पैरामीटर का विकल्प नहीं खोज सकता। तो इन चेतावनी को कैसे हटाया जाए? नीचे flutter --versionविंडोज 10 पर कमांड का उपयोग करके मेरा स्पंदन संस्करण है

> flutter --version
Flutter 1.9.1+hotfix.6 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 68587a0916 (3 months ago)2019-09-13 19:46:58 -0700
Engine • revision b863200c37
ToolsDart 2.5.0

किसी भी मदद के लिए, अग्रिम धन्यवाद

जवाबों:


30

चूंकि प्रदाता संस्करण 3.2.0 "बिल्डर" को "बनाएँ" के पक्ष में पदावनत के रूप में चिह्नित किया गया है।

परिवर्तन लॉग में अधिक जानकारी मिल सकती है

तो करना चाहिए:

ChangeNotifierProvider(create: (context) => Auth())

8

आप बिल्डर के रूप में बना सकते हैं।

    return Provider<MyProvider>(
        create: (context) => MyProvider(

        ),
        child: HomePage(),
    );

आपके उत्तर के लिए धन्यवाद। लेकिन मैं @ उत्तर का उत्तर इसलिए चुनता हूं क्योंकि उसका वर्णन स्पष्ट है
Dika

3

आप "बिल्डर" के बजाय "बनाएँ" का उपयोग कर सकते हैं

main() {
 runApp(
   MultiProvider(
     providers: [
       ChangeNotifierProvider(create: (context) => Auth()), // /**problem here. 
builder displayed with strikethrough line**/
     ],
     child: App(),
   ),
 );

}


कृपया अपना उत्तर हटा दें, क्योंकि आपका उत्तर मौजूदा उत्तरों में कुछ भी नहीं जोड़ता है। @Tabrizapps
डिका

1

बिल्डर पैरामीटर के बजाय आप इंडेक्स पर उत्पाद () या विशिष्ट उत्पाद के साथ परम का उपयोग कर सकते हैं ।

itemBuilder: (ctx, i) => ChangeNotifierProvider(
        create: (context) => products[i],
        child:  ProductItem(),
      ), 

या मान संस्करण के रूप में उपयोग किया जा सकता है:

itemBuilder: (ctx, i) => ChangeNotifierProvider.value(
        value: products[i],
        child:  ProductItem(),
      ),
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.