Anonymous
Olexandr
сами товары и все что с ними связано - лежит на беке
Olexandr
Olexandr
У мне нужно изменить поле в стейте и тут же его (весь стейт) отправить на бек
Olexandr
Но без перерендера страницы стейт ествественно возвращает старое значение.
Sergey
Надо все на бэк тащить полюбому
Olexandr
юзЕффект - нельзя, т.к. остальные поля этого стейта изменяются через инпуты, много изменений.
nortimg
Всем привет :) Есть кто с первого плейлиста, с 40-го урока, где добавляют сообщение? Я что-то накостылил и у меня перестало перерисовываться приложение. Можете помочь? По событию должно перерисовываться приложение, а оно не перерисовывается - где-то накосячил.
https://github.com/nortimg/react-social
Olexandr
Olexandr
Надо все на бэк тащить полюбому
Давайте абстрагируемся, что никакого сервера с картинками нет.
Мне нужно изменить поле в стейте и отправить этот стейт на бек.
Olexandr
Причем отправить нужно уже измененное состояние, а не предыдущее, без перерендера.\
Daniil
Olexandr
Мне нужно изменить поле в стейте и отправить этот стейт на бек.
Olexandr
Вот такой вопрос )
Daniil
можешь сделать пример в сандбоксе касательно этого на консоль логах?
Olexandr
Сейчас проблема только в этом, с сервером картинок проблем нет, все летает туда и обратно, все гуд.
Daniil
ок
Olexandr
Вот Пример:
setProductValue({...productValue, imageUrls: remainingImgUrls});
console.log("Updated Product: ", productValue);
Daniil
https://codesandbox.io/ выбери реакт при создании и сделай минимум
Olexandr
Нужно чтоб консоль возвращала уже измененный вариант )
Daniil
я могу накидать пример сам но может он тебе не подойдет поэтому лучше было бы чтобы ты сделал так как сам знаешь лучше что тебе нужно
Daniil
что-нибудь в пару строк буквально
Olexandr
const [data, setData] = useState("")
setData("some change");
console.log(data); // "some change"
Daniil
ок я сам сделаю это ща
Olexandr
Вот этот результат мне нужно без перерендера ))
Daniil
я понял
Daniil
но ты блин ленивый)))
Olexandr
Та блин, простая штука, а решение космическое. Я всегда использовал useEffect, но в данном случае нельзя.
Daniil
не в этом дело нет тут космоса, у тебя много лишнего в коде, а пару строк в песочнице лень набрать))
Daniil
ок нет проблем
Daniil
ща
Olexandr
https://codesandbox.io/s/confident-violet-v2vnj
Olexandr
Хочу чтоб по клику консоль лог возвращал уже измененное сообщение )
Olexandr
Проект с реактом, редаском, нодой, експресс, монго и кучей библиотек, не могу мегабанальщину зарешать )
Daniil
ну ниче страшного бывает и такое
Edward
так у тебя запрос на локалхост там
Наконецто заработало 😱😱😱 Проблема была в импорте action creator, я его импортировал без фигурных скобок из редюсера😂
Три дня на Это пошло))
Ozzeron
Edward
Ozzeron
я вчера говорил про импорт екшн криейтора между прочим!
Olexandr
Кирилл
Кирилл
так даже лучше
Edward
Daniil
😂
Daniil
у меня та же беда с интернетом))
Olexandr
Olexandr
Как решить проблему асинхронности стейта?
Daniil
Daniil
жди код
Daniil
у меня интернет тормозит слегка
Olexandr
Сидим тут, а у кореша на работе поставили олдсульные игровые автоматы и чувак в костюме Марио готовит попкорн и сладкую вату
Olexandr
смузихлёбы жиру бесятся
Daniil
https://codesandbox.io/s/little-rgb-t63yu
Daniil
смотри спрашивай уточняй, я тебе предлагал сделать пример самому но ты не захотел поэтому может не совсем то что ты хотел
Daniil
andrei
Посмотрите пожалуйста у меня. Делаю по видео что-то запутался.http://joxi.ru/82Q5lQbSwqz0w2
Olexandr
Olexandr
Тут при кждом чихе идет перерендер
Olexandr
стейт обновляется и выдает актуал
Daniil
ну да, так сделай по своему
Daniil
мне ж нужно показать тебе то что тебе нужно)
Daniil
сделай так как у тебя
Rinat Valiullov
Daniil
Olexandr
Olexandr
Ну вот, чтоб при первом клике в консоль выплюнуло измененный стейт, а не пустую строку
Barmaley
Daniil
Rinat Valiullov
Daniil
) убил
Daniil
Olexandr
А то что там с дочернего прилетает - без разницы, все эти данные актуальны еще до клику по сабмит
Daniil
я ж не зря тебя прошу, в
Olexandr
А что скажешь по этому примеру с консоль логом?
Olexandr
const [data, setData] = useState("")
const handler = () => {
setData("some change");
console.log(data); // "some change"
}