Great question. Mentoring junior developers often ends up being a haphazard thing at a lot of organizations, and I think it's super important to build the ethos of mentorship into the culture from early on. In terms of "what works best", I don't think there is a magic bullet answer. This is because everyone learns differently - so it's important that you offer a combination of: Self-taught curriculum, Pair programming, Group discussions on technical learnings/challenges, Paying for education courses (e.g. React training), etc. This way, the junior developer can pick and choose what works best for them. You can survey engineers to see if they want more of X or less of Y. I, for example, love pair programming and self-taught curriculum, but I really dislike in-person educational training courses because I don't learn well in that setting.
Most importantly, I think the most helpful thing you can do is help the junior developer understand their strengths and weaknesses so that he/she knows where to focus their learning efforts the most.