iDe*_*ode 19 dart flutter dart-null-safety
每次创建新课程时,我都会收到警告。
在小部件构造函数中使用 key。
更喜欢 const 和常量构造函数。
等等。这些错误从何而来以及如何消除它?
iDe*_*ode 41
如果您不想忽略警告,只需执行super.key
FooPage({super.key});
Run Code Online (Sandbox Code Playgroud)
打开analysis_options.yaml位于项目根目录的文件:
FooPage({super.key});
Run Code Online (Sandbox Code Playgroud)
要禁用特定文件的规则,请将此行放在代码中的任意位置。
include: package:flutter_lints/flutter.yaml
# Add these lines
linter:
rules:
use_key_in_widget_constructors: false
Run Code Online (Sandbox Code Playgroud)
正如@Sigiria 在评论中建议的那样,您可以运行:
dart fix --apply
Run Code Online (Sandbox Code Playgroud)
最近,Flutter 团队创建了一个新包flutter_lints,并且默认情况下将其添加到analysis_options.yaml新创建项目的文件中。
您只需从analysis_options.yaml文件中删除以下行:
include: package:flutter_lints/flutter.yaml
Run Code Online (Sandbox Code Playgroud)
但是,我建议您至少在其中包含一些规则,例如,您可以添加这些规则(来自pedantic)并删除您不想要的规则。
linter:
rules:
- always_declare_return_types
- always_require_non_null_named_parameters
- annotate_overrides
- avoid_init_to_null
- avoid_null_checks_in_equality_operators
- avoid_relative_lib_imports
- avoid_return_types_on_setters
- avoid_shadowing_type_parameters
- avoid_single_cascade_in_expression_statements
- avoid_types_as_parameter_names
- await_only_futures
- camel_case_extensions
- curly_braces_in_flow_control_structures
- empty_catches
- empty_constructor_bodies
- library_names
- library_prefixes
- no_duplicate_case_values
- null_closures
- omit_local_variable_types
- prefer_adjacent_string_concatenation
- prefer_collection_literals
- prefer_conditional_assignment
- prefer_contains
- prefer_equal_for_default_values
- prefer_final_fields
- prefer_for_elements_to_map_fromIterable
- prefer_generic_function_type_aliases
- prefer_if_null_operators
- prefer_inlined_adds
- prefer_is_empty
- prefer_is_not_empty
- prefer_iterable_whereType
- prefer_single_quotes
- prefer_spread_collections
- recursive_getters
- slash_for_doc_comments
- sort_child_properties_last
- type_init_formals
- unawaited_futures
- unnecessary_brace_in_string_interps
- unnecessary_const
- unnecessary_getters_setters
- unnecessary_new
- unnecessary_null_in_if_null_operators
- unnecessary_this
- unrelated_type_equality_checks
- unsafe_html
- use_full_hex_values_for_flutter_colors
- use_function_type_syntax_for_parameters
- use_rethrow_when_possible
- valid_regexps
Run Code Online (Sandbox Code Playgroud)
小智 5
将其添加到代码中 @override 行之前
const FooPage({Key? key}) : super(key: key);
Run Code Online (Sandbox Code Playgroud)
始终在小部件命令之前添加 const,例如 EdgeInsets、spacer、SizedBox、BorderRadius 等
| 归档时间: |
|
| 查看次数: |
20625 次 |
| 最近记录: |