Не уверен, что полностью понимаю. Таким образом, теперь у вас есть один вход для приема данных, но вы хотите иметь возможность обновлять свое состояние с двух входов?
Когда вы устанавливаете состояние, вы делаете:
const onChangeFile = e => {
setFileData(e.target.files);
};
Если этот же обработчик подключен к другому входу, второй набор файлов просто переопределит первый.
Если вы хотите продолжать добавлять в свое состояние, вы можете либо использовать объект, либо массив. Таким образом, onChange может выглядеть примерно так:
const onChangeFile = e => {
// assuming here that e.target.files is an array already
const filesToAdd = e.target.files;
setFileData([...filesData, ...filesToAdd]);
};
Или с объектом
const onChangeFile = e => {
const filesToAdd = e.target.files.reduce(
(map, file) => ({..., [file.name]: file}), {}));
const filesDataUpdate = {
...filesData,
...filesToAdd
}
setFileData(filesDataUpdate);
};
В этом случае я предполагаю, что каждый файл имеет уникальное имя. Вы можете ввести любое уникальное значение.
Надеюсь, что это поможет!