Виджет флаттера не построен с измененным статусом - PullRequest
0 голосов
/ 28 января 2019

У меня проблема, я получаю информацию о месте Google из одного виджета, и я отправляю эту информацию в другой виджет, в первом, кажется, она работает нормально, но внутри другого виджета изменениене отражается 'до перезагрузки страницы

UserCurrentPlace

class _UserCurrentPlaceState extends State<UserCurrentPlace> {
  _UserCurrentPlaceState();

  @override
  Widget build(BuildContext context) {
    return new StoreConnector<ReduxState, UserCurrentPlaceViewModel>(
      converter: (store) {
        return new UserCurrentPlaceViewModel(
            currentUserPlace: store.state.currentUserPlace,
            onUserPlaceRatingChanged: (isRatingPlace) =>
                store.dispatch(new SetUserPlaceRating(isRatingPlace)),
            onCurrentUserPlaceChanged: (currentUserPlace) =>
                store.dispatch(new SetCurrentUserPlace(currentUserPlace)));
      },
      builder: (context, vm) {
        return FutureBuilder<GooglePlace>(
          future: GooglePlaceAPIHelper.getPlaceInformation(vm.currentUserPlace.placeModel.googleId),
          builder: (context, snapshot) {
            if (snapshot.hasData) {
              return new PlaceProfile(snapshot.data, true);
            } else if (snapshot.hasError) {
              return Text("${snapshot.error}");
            }

            return Utility.getLoading();
          },
        );
      },
    );
  }
}

Он вызывает PlaceProfile, но внутри него все еще есть прежнее имя, я имею в виду, статус редукции меняется, этоотражено в UserCurrentPlace, поэтому я получил новые данные от Google, но PlaceProfile не обновляется с новой информацией.Кстати, виджет, который я хочу обновить, находится в разделе flutter_gallery.

class PlaceProfileState extends State<PlaceProfile> {
  PlaceProfileState(this._place, this.isCurrentPlace);

  final GooglePlace _place;
  bool isCurrentPlace;

  @override
  Widget build(BuildContext context) {
    return Text(_place.name);
  }
}

class PlaceProfile extends StatefulWidget {
  PlaceProfile(this._place, this.isCurrentPlace);
  final GooglePlace _place;
  final bool isCurrentPlace;

  @override
  PlaceProfileState createState() =>
      new PlaceProfileState(this._place, this.isCurrentPlace);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...