Как обновить объект в Flutter MobX ObservableList?

#flutter #mobx

#flutter #mobx

Вопрос:

Я ищу наилучший подход к обновлению ObservableList с объектами. Я создал фиктивный пример ниже с автомобилем и магазином с автомобилями.

В JavaScript я могу просто вызвать

 const carData = {id: 1, name: "Chrysler"};
update(carData);
  

и в методе обновления:

     @action
    updateCar(carData) {
        cars = cars.map(car => car.id === carData.id ? {...car, ...carData} : car);
    }
  

Как добиться того же в Flutter с помощью MobX?

 class Car {
    int id;
    String model;
    DateTime year;
}

abstract class _CarCollectionStore with Store {
    @observable
    ObservableList<Car> cars = ObservableList<Car>();

    @computed
    get latestCar() => iterating and getting latest Car by year.

    @action
    updateCar(WHICH PARAMETERS?) {
       ...
    }
}
  

Как мне на самом деле обновить имя latestCar?

 carCollectionStore = Provider.of<CarCollectionStore>(context, listen: false);

carNameController = TextEditingController(text: carCollectionStore.latestCar.name);

carNameController.addListener(() {
    carCollectionStore.updateCar(carNameController.text);
});