Старое значение возвращается в поле ввода.
Я инициализировал this.props.house.rent (который возвращает старое значение) значением поля ввода this.state.rent (введенное пользователем значение), но я не могу этого сделать, так как он становится синтаксисом антипаттерна,Вы можете увидеть это в комментариях кода ниже.
cacheUpdate = (cache, { data: { updateHouse } }) => {
const data = cache.readQuery({
query: QUERY_CONFIRM_QUERY,
variables: { id: this.props.confirmId },
});
const houses = data.queryConfirm.houses;
const prevHouse = this.props.house;
//prevHouse.rent = this.state.rent; // this.state.rent is user entered input value
const updatedHouses = houses.map(house => {
if (house.id === prevHouse.id) {
const updatedHouseItem = _.pickBy(updateHouse, _.identity);
return { ...prevHouse, ...updatedHouseItem };
}
return house;
});
data.queryConfirm.houses = updatedHouses;
cache.writeQuery({
query: QUERY_CONFIRM_QUERY,
variables: {
id: this.props.confirmId,
},
data,
});
};
Я хочу удалить старое значение из readQuery или writeQuery кеша.