Skip to content

Latest commit

 

History

History
37 lines (19 loc) · 2.98 KB

README.md

File metadata and controls

37 lines (19 loc) · 2.98 KB

Joe's Resume

It's not enough to put together my resume in some google doc and export as a pdf, I need to make it a project that includes an API service and a front end framework to render the details.

For now, I'm relying on a very simple TypeScript + Express.js driven API service (birddog) to provide the data necessary for my resume to render at, https://react-resume-v2.fly.dev

I hope you enjoy!

Variations in state management

Went through the exercise in implementing three different methods of managing the app state that each of the various components reads my resume data from to render to the client.

React Context

You can view the state-managers/react-context branch linked here.

In it, I initialize a ResumeContext, and then when my GET request completes I'm able to populate the Context provider.

Then in each component that requires resume data, I read the data from the context.

Jotai

You can view the state-managers/jotai branch linked here.

With Jotai, I need to start off by wrapping my app with a provider, then create the atomic piece of state I want to manage. In which case, I setup and initialize a Resume atom, and then am able to create subsets of atoms based on the properties of my Resume.

Then in my components, I access the specific atom I need and render that data to the client.

Zustand

You can view the state-managers/zustand branch linked here.

With Zustand, I first define the ApplicationState and build out a store.

Once I receive the resume response data, I utilize the defined setter (see above) and now the store is carrying the data.

Then in each component, I import the useStore and read the appopriate data off of state that I need!