Daniil
по сути важно что у тебя есть еще дочерний это твоя модель
Olexandr
Вернуть не пустую строку, а уже измененный вариант
Daniil
а ты в мой пример смотрел?
Olexandr
Дочерний все свои изменения автоматически записывает в отдельные стейты родителя, так что на него можно не обращать внимания, данные всегда актуальны
Olexandr
а ты в мой пример смотрел?
смотрел, у меня это работает без проблем.
Daniil
const newData = data; setData(newData); console.log(newData);
Olexandr
так, стопэ
Daniil
на твоем варианте стейта это тоже можно сделать
Daniil
data это скажем то что у тебя в буфферном стейте или как ты его называешь
Olexandr
В этом примере при введении одного символа - идет запись в стейт, после чего происходит перерендер, и к моменту onSubmitHandler - стейт уже актуальный и так.
Daniil
да забудь ты про это я могу убрать
Daniil
сделать как у тебя
Daniil
ща
Daniil
вот смотри заново
andrei
без кода непонятно. Не видит он экспорта нужного файла
Экспорты есть. Вот ссылка. https://github.com/gitkiselev/samurai-js-social-project/ Я просто еще копировал из файла Дмитрия. Думал может где опечатка.
Daniil
ссылку на файл в репе кинь где он users-selector.js я его не вижу в папке редакса
Olexandr
да забудь ты про это я могу убрать
https://codesandbox.io/s/confident-violet-v2vnj
Olexandr
Задачка: сделать так чтоб консоль показывала актуальный стейт
Daniil
без хуков?
Olexandr
Без useEffect который будет следить за data, т.к. в дата происходит много других изменений.
Daniil
в любом случае тогда отображать его на событиях тогда только
Daniil
кнопку нажал - получил стейт
Olexandr
после рендера
Daniil
нет рендер не причем
Daniil
можно получить стейт раньше
Olexandr
А нужно чтоб внутри, например вместо консоль лог я хочу data отправить на бек
Daniil
или позже разницы нет
Olexandr
или позже разницы нет
ну вот мне бы любой костыль подошел )
Olexandr
Внутри хендлера
Daniil
это не костыль это хитрость
Daniil
давай словами объясню
Olexandr
открой секрет )))
Daniil
у тебя асинхронное сохранение ты не можешь вывести после него точный результат так как результат будет позже, поэтому
Daniil
ты сначала получаешь результат потом можешь его и вывести и сохранить в каком порядке не важно
Daniil
в идеале это должна быть атомарная операция
Daniil
const newData = data; setData(newData); console.log(newData);
именно про это эти 3 строки
Daniil
теперь ближе к твоему примеру
Daniil
у тебя есть картинки но не в стейте а во временном стейте - сам знаешь что такое я так и не понял зачем ну ладно
Daniil
значит
Bogdan
http://joxi.ru/823kvL9S9OXEV2
Daniil
при сабмите ты должен взять данные из реального стейта к примеру так { ...state images: 'тут из временного стейта' } это можешь теперь и сохранить и отправить
Bogdan
Подскажите где запятую убрать?
Daniil
какое у тебя разрешение экрана?
Daniil
чет картинка битая
Olexandr
при сабмите ты должен взять данные из реального стейта к примеру так { ...state images: 'тут из временного стейта' } это можешь теперь и сохранить и отправить
Типа для отправки не использовать сам стейт, а просто внутри хендлера создать обычную переменную, записать в нее стейт, потом все изменения делать внутри этой переменной и отправлять на сервер - её, а не стейт?
Igor
Подскажите где запятую убрать?
на 25 строке пробел убери перед скобками
Bogdan
http://joxi.ru/RmzqoY9FYlOX7r
Olexandr
да
Логично, и вполне работоспособно, по идее )
Olexandr
А как такой лайфхак называется правильно?
Olexandr
Бо я шото "атомарное" не пониманю )
Daniil
Бо я шото "атомарное" не пониманю )
атомарное это из баз данных про транзации например
Olexandr
не в курсе если честно)
Звучит проще пареной репы, а я привязался к этому стейту дебильному и плясал как баран вокруг ))
Daniil
ну это еще не страшно бывает люди к html привязываются а не к данным))
Bogdan
http://joxi.ru/VrwqzYVF7zaVR2
Bogdan
что -то оно у меня синим виделено
Olexandr
убрал не меняеться
А что это за конструкция вообще?
Olexandr
function some () {some code};
Olexandr
А у тебя просто some () {some code};
Olexandr
если это JS конечно
Bogdan
Olexandr
а где это?
ну функции деклирировать можно через function или через стрелку
Olexandr
А это выглядит как вызов функции и что дописано в фигурных скобках
Sergey
Посаветуйте пж как учить redux
Vlad Сh
видосы димыча
Olexandr
Посаветуйте пж как учить redux
Посмотреть ролики/гайды как прикрутить редакс к апликухе, потом тыкать ) как еще )
Olexandr
Сделать все в тупую так как говорят в видосах, потом разбираться что откуда и куда.
Daniil
Посаветуйте пж как учить redux
для начала можно глянуть ролик какой-нибудь 5 минутный чтобы понять что это такое потом уже погружаться по видео и документации в детали
Olexandr
Есть много подходов. Я юзал такой что логика экшена прописывается в отдельной функции, а оттуда улетает в другую функцию с тем же названием но Succees или Failure, а оттуда уже передавать в редьюсер.
Vlad Сh
да видосы димыча же топ по редаксу
Olexandr
В редюсере логику лучше не писать
Vlad Сh
что тут советовать то
Barmaley
Посаветуйте пж как учить redux
сначала JS, потом react, потом таких вопросов уже не должно будет возникать