There is a really short and helpful learning path on the Mendix Academy on building a basic widget, and I found it really useful when learning how to build mine.
How much Dojo knowledge you need depends on what you want to achieve. I’ve found working from the examples enough to get what I needed done.
I found that to begin with I needed no Dojo experience at all.
I’ve picked up all the dojo knowledge I needed, when I needed it.
Hope this helps
I’d like to add here that the latest iteration of custom widgets on Mendix is called Pluggable Widgets, and they are entirely based on React. When building a Pluggable Widget, you will not use Dojo at all.
At the moment, there are some limitations in terms of what kinds of widgets can be built using the Pluggable Widget framework. You can expect that PW framework will expand over the next several releases of Mendix.