Firebase 如何控制分级条?

Firebase 如何控制分级条?,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,我试图控制一个评级条,但我有点难以控制。问题是评级栏没有得到更新。这是我的密码: Widget _buildBody(videoid) { double rating = 3; return Container( color: Colors.red, child: Stack( children: [ Padding( padding: const EdgeInsets.fromLTRB(3,

我试图控制一个评级条,但我有点难以控制。问题是评级栏没有得到更新。这是我的密码:

 Widget _buildBody(videoid) {
    double rating = 3;
    return Container(
      color: Colors.red,
      child: Stack(
        children: [
          Padding(
            padding: const EdgeInsets.fromLTRB(3, 7, 0, 0),
            child: Align(
              alignment: Alignment.topLeft,
              child: RatingBarIndicator(
                rating: rating,
                itemBuilder: (context, index) => InkWell(
                  onTap: (){
                    setState(() {
                      rating=index.toDouble()+1;
                    });
               },
                                  child: Icon(
                    Icons.star,
                    color: Colors.amber,
                  ),
                ),
                itemCount: 5,
                itemSize: 31.0,
                direction: Axis.horizontal,
              ),
            ),
          ),
          Align(
            alignment: Alignment.topRight,
            child: TextButton(
              onPressed: () {
                letuservoting = true;

                setState(() {
                  rating = 0;
                  israting = false;
                });

                dislike(idovvideo, _rating);
              },
              child: Text(
                "Clear",
                style: TextStyle(color: Colors.white, fontSize: 20),
              ),
            ),
          ),
        ],
      ),
    );
  }

我将评级设置为3,然后在明文按钮上我想将其设置为0,然后当用户点击2时,它应该显示2颗星。目前,无论我做什么,它只显示这三颗星。如何解决此问题?

最好不要在小部件中分配变量,因为它会不断重建,并且会重新分配变量,在您的情况下,
评级
变量会不断重新分配到3。试着把它放在你的类中,在构建方法之外