@viktorleg

Как передать данные в переменную из useState после загрузки изображений?

Я застрял с этой простой задачей, потому что мозги перестали уже соображать, да и новичок в кодировании.

Подскажите, как мне добавить массив идентификаторов в variables: { gallery } после загрузки изображений.

const [ multipleUploadMutation, { data } ] = useMutation(MULTIPLE_UPLOAD_MUTATION);

const [gallery, setGallery] = useState([]);

useEffect(() => {
    console.log(gallery);
},[gallery]);

// деструктурирование идентификаторов загруженных изображений для передачи их в setGallery.
const images = data?.multipleUpload.map(({data}) => Number(data.id));

// загрузка изображений из инпута
const onChange = ({ target: { validity, files } }) => {
    if (validity.valid) {
        multipleUploadMutation({ 
            variables: { 
                files: files,
            },
        });
    }
}; 

const handleSubmit = (e) => {
    e.preventDefault();
    setGallery(images); // Понимаю, что это должно находиться не здесь, так как вызывается одновременно с добавлением в переменную gallery и соотвественно ничего в него не передаёт.
    createProduct({
        variables: {
            input: {
                title: title,
                gallery: gallery
            }
        },
    });
};
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы