Попов Дмитрий
18 окт. 2021 г., 9:48

@gribok-prisma: добавление поля картинки гриба в создание поста

Николай, привет!
Таки даю заднюю (на время) и добавляю одну картинку к одному посту.

Можешь посмотреть "план":
1. Добавляю поле image к посту.
2. Понять что делать, если картинку добавлять при создании поста ,а id поста еще нет.
Дима, привет!

А я не понял, ты ничего не попробовал еще, никакой коммит не выкатил. А чего именно спрашивашь?
Николай, привет!
Готовлю коммит для вопроса.
Таки понял, что меня в ступор вогнало)
Искал в коде, в какой момент обновляется поле image для текущего юзера при загрузке аватара, и не мог найти. Потом понял, что поле и не обновляется)

Правильно понял, что здесь должен быть код обновления ссылки на картинку аватара текущего пользователя при загрузке картинки? https://github.com/linklib/gribok-prisma/blob/e0fc6847dc96eed0f550eb15f64eafd57101b637/src/pages/Users/User/View/Form/index.tsx#L8

Николай, привет!

Понимаю, что какую-то хрень навертел, но... работает. Как можно улучшить?
Дима, привет!

1. Ты не создал и не вылил миграцию. Как результат: у меня в базе данных нет колонки image.
2. В резолвер создания ты добавил поле image, а в обновление нет.
Николай, привет!
Спасибо! Вношу изменения.


Апдейт пост стоит в плане выводить: там и грибы нет, и страницы собственно не сформировано. Не только критнки.
Николай, привет! Посмотришь коммит?

Здесь вывожу картинку загруженную в форму.
Дима, привет!

Вопрос: а зачем тебе imageFieldRender? Если у тебя там все равно hidden-поле. Это же тебе не классический HTML, где для отправки данных нужен тег form с перечислением в нем всех полей, из которых и будут потом отправлены данные. Это Реакт. Здесь поля ввода нужны только для взаимодействия пользователя с данными. То есть здесь поля отображают что у нас в хранилище и через эти же поля можно редактировать данные хранилища. Но при отправке данных эти данные берутся из сасого хранилища, а не из полей формы. Таким образом, если ты поле делаешь невидимым и в твоем случае оно не имеет никакой функциональной нагрузки, его можно вообще удалить.

В остальном вроде все ОК.

Спасибо!
То есть перемудрил с полем)
Просто оставил артифакт)

Добавить комментарий