跳到主要内容

no_logic_in_create_state

不要在 'createState' 中放置任何逻辑。

描述

#

StatefulWidget 的子类中 createState 的实现包含除调用无参构造函数并返回结果之外的任何逻辑时,分析器会产生此诊断。

示例

#

以下代码会产生此诊断,因为构造函数调用带有参数

dart
import 'package:flutter/material.dart';

class MyWidget extends StatefulWidget {
  @override
  MyState createState() => MyState(0);
}

class MyState extends State {
  int x;

  MyState(this.x);
}

常见修复

#

重写代码,使 createState 不包含任何逻辑

dart
import 'package:flutter/material.dart';

class MyWidget extends StatefulWidget {
  @override
  MyState createState() => MyState();
}

class MyState extends State {
  int x = 0;

  MyState();
}