V
V
viktorleg2022-02-28 14:17:24
React
viktorleg, 2022-02-28 14:17:24

How to pass data to variable from useState after loading images?

I'm stuck with this simple task because my brain has already stopped thinking, and I'm new to coding.

Please tell me how can I add an array of ids to variables: { gallery } after uploading images.

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
            }
        },
    });
};

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question