我在使用Bloc时遇到问题,功能正常,但在显示/显示方面,正确的信息/图标不是 . 它正下方暴露了问题和我的小部件“层次结构”,因为这可能是问题之一 .

Issue: (使用bloc并且在应用程序显示中根本没有任何更改)这一切都是关于在扩展磁贴上的图标中添加/删除收藏夹,当我点击图标后端工作正常但图标的显示不是t,当点击图标时,图标不会按预期更改,如果我折叠瓷砖并展开,他会向我显示所有列表中的状态更改,而不仅仅是一个"member"这就是我的小部件层次结构现在是如何(与我使用setState在有状态小部件中创建的解决方案,我想避免的事情):

正如你将在链接上看到的,它可以使用这个链,但主要目标是不要使用setState使用 favorites.dart 状态,之前我的 favorites_bloc.dart 上有handleTap并且它的功能正常,问题是在 HomePage.dart 上显示图标的变化点击,我点击图标,在后端工作正常,但前端"appearance"的图标保持不变,根本没有变化 . 在展开瓷砖上展开折叠 - >展开后,它会显示de展开瓷砖内所有列表的更改状态 . (未填充图标 - >填充图标)
所以,这是我在 favorites_bloc.dartfavorites.dart 的代码(我认为应该是,显然有错误,否则我没有求助)

class Favorites extends StatelessWidget {
  final Folders folders;

  Favorites({this.folders, Key key}) : super(key: key);
  final _favRem = new Icon(Icons.star_border);
  final _favAdd = new Icon(Icons.star, color: Colors.yellow);

  @override
  Widget build(BuildContext context) {
    final favBloc = FavoritesProvider.of(context);

    return new IconButton(
        icon: !favBloc.isFav ? _favRem : _favAdd, onPressed: ()=>favBloc.handleTap(folders.id, folders.title));
  }
}

favorites_bloc.dart

class FavoritesBloc extends Object with Requests{

  final _paeUser = BehaviorSubject<PaeUser>();
  final _response = BehaviorSubject<dynamic>();
  final _isFav = BehaviorSubject<bool>();

  PaeUser get paeUser => _paeUser.value;
  bool get isFav => _isFav.value ?? false;

  Function(PaeUser) get setPaeUser => _paeUser.sink.add;
  Function(bool) get setIsFav => _isFav.sink.add;

  void handleTap(int id, String title) {

    if (isFav) {
      remFavorites(id, paeUser.session);
      //todo
      print("Favorito: '$title' --> Removido");
      setIsFav(false);

    } else {
      addFavorites(id,paeUser.session)
          .then((map) {
        //todo
        print("Favorito: '$title' --> Adicionado");
        /// Caso esta situaçao se verifique..muito raro acontecer
        if (map['response']['fail'] == 'alreadyExist') {
          remFavorites(id, paeUser.session);
          //todo
          print("Favorito: '$title' adicionado e removido");
          setIsFav(false);

        }
      });

      setIsFav(true);
    }
  }

  dispose() {
    _response.close();
    _paeUser.close();
    _isFav.close();
  }
}

问题是“根本不改变”状态为“全部改变”状态,可能是因为行为主体在崩溃后都发生变化 - >扩展?但为什么没有“反应”贴上图标?谁有想法?等级问题?无状态小部件问题??流问题?集团问题?

感谢您的时间,对不起任何事情,如果对问题的说明没有明确说明,请编辑或询问 .