У меня есть родительский компонент, в который я продолжаю получать обновления набора данных для отображения. Что я должен постоянно показывать в нижней части страницы, если она открыта. Я могу отправить обновленные данные в StatefullWidget. Ниже приведен код получения данных в режиме реального времени каждую секунду, если нижняя таблица открыта.
class PositionDetailsModal extends StatefulWidget {
NetPosition netPosition;
PositionsState instance;
PositionDetailsModal({this.instance, this.netPosition}) : super();
setLatestUpdates(NetPosition netPositionLocal) {
netPosition = netPositionLocal;
if(ApiProvider().positionDetailsModalState != null) {
log("positionDetailsModalState :" + positionDetailsModalState.toString());
// Once the State is set inside its init i am storing the instance of it in global field
// and calling this method to update the state.
ApiProvider().positionDetailsModalState.updateChangesToUI(netPositionLocal);
}
}
@override
PositionDetailsModalState createState() => PositionDetailsModalState();
}
Но если я вызываю updateChangesToUI и делаю setState, то я получаю эту ошибку
setState () или markNeedsBuild (), вызываемые во время сборки
Можно ли каким-либо образом обновить значения в Bottomsheet, если и когда имеется обновление данных в родительском классе во флаттере?