ফ্লটার চেঞ্জনোটাইফায়ারপ্রভাইডার বিল্ডার অবনতিহীন


12

আমার কোডটি আমার প্রধান.ডার্টে রয়েছে:

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

প্রায় 2 দিন আগে থেকে, আমার ভিজ্যুয়াল স্টুডিও কোডটি এই সতর্কতাটি দেখায়:

এখানে চিত্র বর্ণনা লিখুন

সুতরাং আমি ধারণা করি চেঞ্জনোটাইফায়ারপ্রাইভাইডারে বিল্ডার প্যারামিটারটি হ্রাস করা হয়েছে। আমি সর্বত্র অনুসন্ধান করেছি কিন্তু এই বিল্ডার প্যারামিটারের বিকল্প খুঁজে পাচ্ছি না। তাহলে কীভাবে এই সতর্কতা অপসারণ করবেন? নীচে 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

যেহেতু সরবরাহকারীর সংস্করণ ৩.২.০ "বিল্ডার "টিকে" তৈরি "এর পক্ষে অবহিত হিসাবে চিহ্নিত করা হয়েছে।

পরিবর্তন লগ আরও তথ্য পাওয়া যাবে

তাই করা উচিত:

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

8

আপনি বিল্ডার হিসাবে তৈরি সঙ্গে পাস করতে পারেন।

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

        ),
        child: HomePage(),
    );

আপনার উত্তর করার জন্য আপনাকে ধন্যবাদ. তবে আমি @ বাদামের উত্তরটি বেছে নিই কারণ তার বর্ণনাটি আরও স্পষ্ট
ডিকা

3

আপনি "নির্মাতা" এর পরিবর্তে "তৈরি" ব্যবহার করতে পারেন

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

}


আপনার উত্তরটি মুছুন, কারণ আপনার উত্তরটি বিদ্যমান উত্তরের সাথে কিছু যোগ করে না। @ তাবরিজাপ্পস
ডিকা

1

বিল্ডার প্যারামিটারের পরিবর্তে আপনি সূচীতে পণ্য () বা নির্দিষ্ট পণ্য সহ তৈরি প্যারাম ব্যবহার করতে পারেন ।

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

অথবা মান সংস্করণ হিসাবে ব্যবহার করা যেতে পারে:

itemBuilder: (ctx, i) => ChangeNotifierProvider.value(
        value: products[i],
        child:  ProductItem(),
      ),
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.