Нужна подсказка, сам не додумкал(
Проблема: при редактировании пива не сохраняется измененный параметр горечи (IBU).
Ошибка: Variable "$data" got invalid value { bitter: "16" }; Expected type Int at value.bitter; Int cannot represent non-integer value: "16"
Вроде как все понятно - каким-то образом пролезает не Int значение, а иное (видимо строковое).
Но здесь https://github.com/Pivkarta/pivkarta.ru/blob/dima/src/modules/Page/Beers/Beer/View/index.js на 418 строке вроде как вполне переводит в Int.
Привожу блок:
{this.renderField(<TextField
name="bitter"
value={bitter || ""}
type="number"
helperText={bitter ? <Bitter
bitter={bitter}
/> : "10, 20, 40 и более до 100"}
onChange={event => {
const {
name,
value,
} = event.target;
//console.log("onChange_bitter", name, value, event.target);
console.log("onChange_bitter", bitter);
this.updateObject({
[name]: value ? parseInt(value) : null,
});
}}
/>)}
Не могу разобраться, где затык.
Дима, привет!
1. Чтобы не писать в какой строке что искать, на гитхабе слева можно в номер строки кликать, в ссылку добавится. Можно с шифтом диапазон строк отмечать.
2. Бага была в исходном классе. Смотри вот этот коммит. Там передаваемый параметр onChange перетирался заранее заготовленной функцией onChange={event => this.onChange(event)}
Тебя вообще должно было напрячь, что console.log("onChange_bitter", bitter); у тебя прописано, но в консоль не выводится.
Спасибо!
" Тебя вообще должно было напрячь, что console.log("onChange_bitter", bitter); у тебя прописано, но в консоль не выводится." - меня и напрягло, но понять не получилось)
>> меня и напрягло, но понять не получилось)
:)
Обращай внимание на то, какой класс расширяется. Это типа ООП.