через input. При каждом изменении массива надо смотреть, есть ли в нем файлы с loaded: false и загружать их на сервер, который в ответ кидвет ссылку на загруженный в облако файл. Эту ссылку надо вставить в обьект файла в исходном массиве + поменять loaded на true. У меня проблема заключается в том, что если загружается одновременно например 2 файла, сначала в массиве обновляется один объект, а потом второй. И в итоге в массиве остается обновленным только второй объект. Как подскажите хотя бы концептуально решить такую проблему? Я понимаю, что одна из причин это то, что setState применяется не сразу, но вот все же 🤷
Покажи, как loaded на true переключаешь
Беру массив, через map перебираю, в нужном обьекте меняя данные (loaded на true). Потом этот обновленный массив из получаенные из map пихаю в setState
https://pastebin.com/wiGZBmaJ
https://overreacted.io/react-as-a-ui-runtime/#batching
setSelectedFiles(files => files.map( ... ))
Сделал, но теперь получается при загрузке например 3 файлов, условный console.log функции загрузки файла срабатывает в сумме 6 раз. О чем это говорит ?
О том, что ты загружаешь 6 файлов?
Так как 6, если загружаю 3 ? :)
Да, мой косяк, я опечатался изначально
Попробуй ключевое слово debugger
Окей, в любом случае спасибо, ибо в какой-то мере моя проблема решена
Обсуждают сегодня