set Named Route

 

[Ko]

 - named route 설정시 ‘/‘ format 사용할 때는 반드시 / 뒤에 다른 단어가 없는 ‘/‘ 있어야 .

 - MaterialApp named route 설정할 screen id 대상 screen id property 만들어서 사용.

(오타 방지 기능) —> 이때는 main route에서 object 반복적으로 또는 불필요하게 만들지 않고도 class property 또는 function에만 직접 접근 있도록 static property 만들자. static property class 직접 소유하는 property.

 - 변수 앞에 static 붙이면 class 단계에서 해당 변수에 메모리가 설정되며 초기화됨. static keyword class wide variable 만들어 .

 - class 내부에 const variable 만들 때는 해당 class object 생성된 뒤에도 변치 않을 변수라는 의미이기 때문에 반드시 static const 변수명 앞에 붙여 주어야 .

 - object 생성 없이 클래스내 함수를 직접 불러와서 사용하려면 함수명 앞에도 static 붙일 있음.

 - 또한 변수의 값이 고정값인 경우 변수명 앞에 static 대신 static const 붙여서 변수가 예기치않게 수정되는 것을 막을 있음.

 - final code

    return MaterialApp(

      theme: ThemeData.dark().copyWith(

        textTheme: TextTheme(

          body1: TextStyle(color: Colors.black54),

        ),

      ),

      initialRoute: WelcomeScreen.id,

      routes: {

        WelcomeScreen.id: (context) => WelcomeScreen(),

        ...

      },

    );

  }

}

 

 

class WelcomeScreen extends StatefulWidget {

  static const String id = 'welcome_screen';

 

  @override

  _WelcomeScreenState createState() => _WelcomeScreenState();

}

 

class _WelcomeScreenState extends State<WelcomeScreen> {

  @override

  Widget build(BuildContext context) {

...

 

[En]

 - When using the '/' format when setting a named route, there must be a '/' without any other words after /.
 - When setting a named route in MaterialApp, use the screen id by creating the id property of the target screen.
(Error prevention function) —> In this case, let's make static property to directly access only the property or function of class without making the object repeatedly or unnecessary in the main route. The static property is a property directly owned by the class.
 - If static is added in front of the variable, the memory is set and initialized in the class step. Static keyword creates class wide variable.
 - When creating a const variable inside a class, it means that it is a variable that will not change even after the object of the class is created.
 - If you want to directly call and use a function in the class without creating an object, static can be added before the function name.
 - Also, if the value of the variable is a fixed value, static const can be added to the variable name instead of static to prevent the variable from being modified unexpectedly.

 - final code

    return MaterialApp(

      theme: ThemeData.dark().copyWith(

        textTheme: TextTheme(

          body1: TextStyle(color: Colors.black54),

        ),

      ),

      initialRoute: WelcomeScreen.id,

      routes: {

        WelcomeScreen.id: (context) => WelcomeScreen(),

        ...

      },

    );

  }

}

 

 

class WelcomeScreen extends StatefulWidget {

  static const String id = 'welcome_screen';

 

  @override

  _WelcomeScreenState createState() => _WelcomeScreenState();

}

 

class _WelcomeScreenState extends State<WelcomeScreen> {

  @override

  Widget build(BuildContext context) {

...

'플러터(Flutter) > 플러터 일반(Flutter General)' 카테고리의 다른 글

[Dart] Mixins  (0) 2020.03.19
Hero Animation  (0) 2020.03.19
Passing Data to a State Object  (0) 2020.03.19
JSON Parsing and Dynamic Types  (0) 2020.03.19
Lifecycle method of Stateful widget  (0) 2020.03.19

+ Recent posts