I was attempting to build a real time drawing board using Firebase database when I realised something very strange.
I am using the onChange handler to be notified of any updates so that they can be written to the database.
Once new data is received, it is passed to the component to be re-drawn. As it redraws each line, the onChange is triggered for each line, which causes an infinite loop.
What do the creators/maintainers think about treating the whole loadSaveData() as a transaction; after all lines are drawn the change notification is published. I already have made changes to the existing library and tested to make sure it works.
Realtime support
I was attempting to build a real time drawing board using Firebase database when I realised something very strange.
I am using the
onChange
handler to be notified of any updates so that they can be written to the database.Once new data is received, it is passed to the component to be re-drawn. As it redraws each line, the
onChange
is triggered for each line, which causes an infinite loop.What do the creators/maintainers think about treating the whole
loadSaveData()
as a transaction; after all lines are drawn the change notification is published. I already have made changes to the existing library and tested to make sure it works.Check out this fork (https://github.com/ish-joshi/react-canvas-draw) and I'm happy to raise a PR if maintainers/contributors agree with the approach.