Dart: null safety variable and function
null safety variable
null safety variable
In dart, we can check whether a property is null or not, and inside the if check we can get the value directly, for example:void printValue(int? value) {
if (value != null) {
if (kDebugMode) {
print(1 + value);
}
}
}
But if we define the value in the Widget or on the State object, then we can’t check the null like below:if (widget.value != null) {
if (kDebugMode) {
print(1 + widget.value);
}
}
But we can do like below:int? value = widget.value;
if (value != null) {
if (kDebugMode) {
print(1 + value);
}
}
From the code above, the first example that the we can use the value inside the if check because the value is a parameter, and it can’t be changed, but for the Widget or State, it is a member field, and it can be changed, so we can’t get the value inside the if check.
null safety function
If I define a function on the widget, then how can I call the method? We can use ?.call
to call the function, for example, I define an onDelete
function like below:final Function(int)? onDelete;
We can call the onDelete
function like below:widget.onDelete?.call(1);