Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
December 24, 2022 02:05 pm GMT

Flutter "Farklar Ne? " Serisi

Merhaba! Flutter 'da benzer grnen ilevlerin farklarn irdelemeye ynelik bir seri oluturmaya karar verdim. Sizin de aklnza taklan "Bunlar ayn deil mi? Ne farklar var ki?" diye dndren konular yorum yapn birlikte aratrp renelim :D

Blm 1

Navigator.pop(context); ve Navigator.of(context).pop(); arasndaki fark nedir?

Her iki yntemde mevcut rotay yndan kararak bir nceki rotay gsterir ancak:

Navigator.of(context) methodunun Navigator widget'na dorudan bir referans yoktur ve rotalar zerinde ilem yapabilmek iin verilen BuildContext'in en yakn atas olan Navigator' kullanr. Bu, zellikle i ie rotalarla alrken veya Navigator widget aacnda birka seviye yukardayken yararl olabilir.

Navigator.pop(context) yntemi ise, arld yerde geerli olan BuildContext nesnesini kullanarak Navigator snfnn bir rneini elde eder ve bu rnei kullanarak ynlendirme ilemlerini gerekletirir.

Navigator widget'na dorudan referansnz olmadnda (Bu Navigator i ie rotalarla alyorsanz ve Navigator'a dorudan eriilemiyorsa olabilir.) Bu durumlarda, verilen BuildContext'in en yakn atas olan Navigator' elde etmek iin Navigator.of(context) yntemini kullanabilirsiniz.

Bu rnekte, MyWidget widget'nn Navigator widget'na dorudan bir referans yoktur. Navigator, MaterialApp widget'nn iinde, widget aacnn birka seviye yukarsndadr. Navigator.of(context) methodu sayesinde verilen BuildContext'in en yakn atas Navigator' elde edebilirsiniz:

import 'package:flutter/material.dart';class MyApp extends StatelessWidget {  @override  Widget build(BuildContext context) {    return MaterialApp(      home: MyHomePage(),    );  }}class MyHomePage extends StatelessWidget {  @override  Widget build(BuildContext context) {    return Scaffold(      appBar: AppBar(        title: const Text('My App'),      ),      body: Center(        child: MyWidget(),      ),    );  }}class MyWidget extends StatelessWidget {  @override  Widget build(BuildContext context) {    return Scaffold(      appBar: AppBar(        title: const Text('My Widget'),      ),      body: Center(        child: TextButton(          onPressed: () {            // Burada navigator widget'na dorudan bir referansnz yoktur          },          child: const Text('Go to another screen'),        ),      ),    );  }}

Kaynaklar:
https://api.flutter.dev/flutter/widgets/Navigator-class.html
https://stackoverflow.com/a/71616934/14745090


Original Link: https://dev.to/gulsenkeskin/flutter-farki-ne-serisi-5fd7

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To