在flutter的初始化列表中使用参数

时间:2019-04-29 14:06:05

标签: flutter parameter-passing initializer

我想创建一个数据列表页面。它需要一个基于参数传递的用户ID的引用。但是,该参数不是静态的,因此无法访问。

我试图通过参数传递引用本身。但这也陷入了同样的问题。

class DataViewHome extends StatefulWidget{
    final String userId;

    DataViewHome({this.userId});

    @override
    State<StatefulWidget> createState() => DataViewHomeState();
}

class DataViewHomeState extends State<DataViewHome>{
    final dataReference = FirebaseDatabase.instance.reference().child("users").child(widget.userId);

    List<String> dataList = new List();
    StreamSubscription<Event> _onDataAddedSubscription;

    DataViewHomeState(){
        _onDataAddedSubscription = dataReference.onChildAdded.listen(_onDataAdded);
    }

    _onDataAdded(Event event){
        setState(() {
            dataList.add(event.snapshot.value);
        });
    }
}

0 个答案:

没有答案