0
0
Fluttermobile~20 mins

Constructors and named parameters in Flutter - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Constructor Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
📝 Syntax
intermediate
2:00remaining
Identify the correct way to define a named parameter in a Flutter constructor
Which constructor correctly uses a named parameter for the title property in a Flutter widget class?
Flutter
class MyWidget extends StatelessWidget {
  final String title;

  MyWidget({this.title});

  @override
  Widget build(BuildContext context) {
    return Text(title);
  }
}
AMyWidget({required this.title});
BMyWidget({title});
CMyWidget(title);
DMyWidget(this.title);
Attempts:
2 left
💡 Hint
Remember that named parameters use curly braces and can be marked as required.
ui_behavior
intermediate
2:00remaining
What will be displayed when using a constructor with a default named parameter?
Given this widget code, what text will appear on the screen if MyWidget() is used without arguments?
Flutter
class MyWidget extends StatelessWidget {
  final String title;

  MyWidget({this.title = 'Hello'});

  @override
  Widget build(BuildContext context) {
    return Text(title);
  }
}
Anull
BAn empty string
CCompilation error
DHello
Attempts:
2 left
💡 Hint
Check the default value assigned to the named parameter.
lifecycle
advanced
2:00remaining
How does using named parameters with required affect widget rebuilds?
Consider a Flutter widget with a constructor using named parameters marked as required. What is the impact on widget rebuilds when the parameter values change?
AThe widget rebuilds regardless of parameter changes because named parameters do not affect rebuilds.
BThe widget never rebuilds if parameters are named and required.
CThe widget rebuilds only if the required named parameters change values.
DThe widget rebuilds only if positional parameters change, not named ones.
Attempts:
2 left
💡 Hint
Think about how Flutter compares widget properties to decide rebuilds.
navigation
advanced
2:00remaining
How to pass named parameters when navigating to a new screen in Flutter?
You want to navigate to DetailScreen and pass a named parameter id. Which code correctly passes the parameter?
Flutter
class DetailScreen extends StatelessWidget {
  final int id;
  DetailScreen({required this.id});

  @override
  Widget build(BuildContext context) {
    return Text('ID: $id');
  }
}
ANavigator.push(context, MaterialPageRoute(builder: (_) => DetailScreen(42)));
BNavigator.push(context, MaterialPageRoute(builder: (_) => DetailScreen(id: 42)));
CNavigator.pushNamed(context, '/detail', arguments: 42);
DNavigator.pushNamed(context, '/detail', id: 42);
Attempts:
2 left
💡 Hint
Check how named parameters are passed in constructors inside the builder function.
🔧 Debug
expert
2:00remaining
Why does this Flutter constructor cause a runtime error?
Examine this Flutter widget constructor. Why does it cause a runtime error when instantiated without arguments?
Flutter
class MyWidget extends StatelessWidget {
  final String title;

  MyWidget({required this.title});

  @override
  Widget build(BuildContext context) {
    return Text(title);
  }
}

// Usage:
// MyWidget();
ABecause the required named parameter <code>title</code> was not provided when creating <code>MyWidget</code>.
BBecause the <code>title</code> field is not initialized with a default value.
CBecause StatelessWidget requires a positional parameter in the constructor.
DBecause the <code>build</code> method is missing a return statement.
Attempts:
2 left
💡 Hint
Check the meaning of required in named parameters.