Now we have our ReactToRails library in place, adding the Crud for users should be easy.
Here’s the store.
import Store from 'react-to-rails/store' export const store = new Store('user')
Here’s the User view component.
export function User({user}) { return <div className='user'> <h2 className='name'>{user.name}</h2> <div className='email'>{user.email}</div> </div> } export default connectView(User, store)
And here’s the list:
export function List({users}) { return <ul className='users-list'> { users.map(user => <li key={user.id}> <User user={user}/> </li>) } </ul> } export default connectList(List, store)
There’s a bit of boilerplate-like overlap between the views and it’s tempting to try to abstract that away into the library but I actually like what Rails does with scaffolded views where it generates something simple that you can later edit. Maybe I’ll do that. Maybe I’ll do both.
I still need to build the Editor for users but that can wait until I get a bit further along with my understanding of forms in React. I think I want to work on a proper navigation scheme for the app first. It’s all a bit of a mess at the moment. But first we’ll have to learn about how to handle routes in React.
We’ll do that next week.