Ethers.js events

I have a question with the events of ethers.js

When we create an event type `` contract.on '' to capture a contract log event, does it work the same as a JavaScript addEventListener?

If we use REACT to develop our dapp we should destroy the event because in each rendering we would create one, right?

If so, how is it destroyed?

Thank you so much.