Функция сохраняется, даже если она не используется
Ниже приведена функция для удаления вложений из текстового редактора. После однократного вызова с помощью кнопки "X" он вызывается каждый раз, когда вы нажимаете внутри текстовой области. Используемая библиотека редактора - draft.js. Как я могу остановить непреднамеренный вызов removeFiles().
private removeFiles = (id: any) => {
debugger;
unmountComponentAtNode(document.getElementById(id));
document.getElementById(id).remove();
const newState = this.state;
newState.uploadFiles.splice(id, 1);
newState.files.splice(id, 1);
newState._attachments.splice(id, 1);
this.setState(newState);
}
public fileSelectEvent = (filesArray: any) => {
debugger;
var files = (document.getElementById('fileInput') as HTMLInputElement).files;
var editorElement = document.getElementsByClassName('DraftEditor-editorContainer');
if (!(!filesArray)) {
this.readFiles(filesArray, false);
for (let i = 0; i < files.length; i++) {
var newDiv = document.createElement('div');
console.log(files[i].name, '{files[i].name}----');
newDiv.innerHTML = `<div class=${styles.fileBox} id=${i}>
<span>${files[i].name}</span>
<h5 ${onclick = () => this.removeFiles(i)}>X</h5>
<div>`;
editorElement[0].appendChild(newDiv);
}
}
}