Como anexar ouvintes de eventos de arrastar e soltar para um componente React

Estou construindo um componente que permite que arquivos locais sejam arrastados e soltos em uma div. Depois, há uma saída de informações sobre o arquivo descartado.

Meu problema é que não sei como conectar corretamente os ouvintes do eventodrop edragover ao criar meu componente.

Meu componente App é onde está toda a minha lógica (manipulador para soltar e arrastar) e eu criei um componente separado, onde os arquivos serão soltos no componente dropZone.

Tentei colocar o ouvinte de evento na tag dropZone no meu componente App com umcomponentDidMount onde se meu componente dropZone tivesse sido renderizado, coloque um ouvinte de evento:

componentDidMount(){
      const dropZone = document.getElementById('dropZone');
      dropZone.addEventListener('dragover', this.allowDrop.bind(this))
      dropZone.addEventListener('drop', this.dropHandler.bind(this))
    } 

isso não funcionou

Tentei colocá-lo na minha tag dropZone que fica no meu componente de aplicativo:

<DropZone dropZone = {"dropZone"} onDragOver = {this.allowDrop.bind(this)} 
 onDrop ={this.dropHandler.bind(this)} >      
</DropZone>

isso também não adicionou um ouvinte de evento ao dropZone. Eu tentei algumas outras coisas, mas essas são as que eu deveria ter trabalhado.

Então, minhas perguntas são,

como eu adiciono odrop edragover ouvintes de eventos do dropZone?

Devo adicionar esses ouvintes de evento no App e passá-los para o componente dropZone como suporte? Ou não é necessário passar nem necessário

Ou devo adicionar os ouvintes de evento no dropZone diretamente para que minhas funções de manipulador de eventos permaneçam no componente dropZone?

questionAnswers(1)

yourAnswerToTheQuestion