У меня проблема, я получаю информацию о месте 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);
}