None of the above. In React you just create a form, get the values and call the Login method.
For your convenience, let me share an example from one of my WIPs and the React code for it.
As I use Redux, you will see a call like this.props.signIn(email, password)
This calls an Action in Redux (a function which has the Meteor methods you are familiar with) OK, let me add both files. If you are not familiar with Redux (which you can never regret using) ‘dispatch’ is like a callback.
And why do you need a boilerplate for that? Just create a meteor react app, add the react router package and use Meteor accounts which has all those functionalities?
I always end up building my own login and registration forms from scratch. It’s not hard, and every project seems to have different requirements anyway, different UI frameworks, different CSS frameworks, etc.
Sometimes I use uniforms to make it a bit easier, but for log in forms, it’s pretty easy to just just wire up the forms in react directly.
I think Pup is very good option to learn from, however I think its over engineered, I have used it before to created a complicated app, and ended up with hundreds of nested components that was pain to keep track of.
I see, well it has not been my experience and we also have a large app.
Basically, I’ve divided the app into Meteor packages and using the application structure recommended in the Meteor guide. Personally I think how you divide your component is react/component design decisions and has little to do with the overall application structure which what Pup is providing (at least version 1 from what I recall).
Yeah Pup is really nice. Love the Gdpr Stuff and Admin Backend. But I do NOT like the mixed in GraphQl for user management. This is one of the reasons I decided not to go with it (but to keep it as reference to merge features in)