Skip to content

React State Shape

Edgar Ulloa edited this page Nov 10, 2022 · 9 revisions

Slices of State

Home Page, non logged in user

  • state: {
  • session: {}
  • allListings: {}
  • favorites: {}
  • images: {}
  • }

After Logging In

  • state: {
  • session: { userId : {userId: number, firstName: string} }
  • allListings: { listingId : { listingId : number, address: string, city: string, state: string, zipCode: number, lat: number, lng: number, name: string, description: string, type: string, beds: number, baths: number, sqft: number, price: number, previewImage: string } }
  • favorites: { listingId : { id: number, listingId: number, userId: number } }
  • images: { listingId : { id: number, listingId: number, url: string } }
  • }

Clicking on Listing

  • state: {
  • session: { user: {userId: int, username: string, profileImage: string}}
  • listing: { listingId : { listingId : number, address: string, city: string, state: string, zipCode: number, lat: number, lng: number, name: string, description: string, type: string, beds: number, baths: number, sqft: number, price: number, previewImage: string } }
  • favorites: { listingId : { id: number, listingId: number, userId: number } }
  • offers: { listingId : { id: number, listingId: number, offerAmount: number } }
  • tours: { listingId : { id: number, listingId: number, userId: number, startDate: string, endDate: string } }
  • images: { listingId : { id: number, listingId: number, url: string } }
  • }

Clicking on My Favorites

  • state: {
  • session: { user: {userId: int, username: string, profileImage: string}}
  • allListings: { listingId : { listingId : number, address: string, city: string, state: string, zipCode: number, lat: number, lng: number, name: string, description: string, type: string, beds: number, baths: number, sqft: number, price: number, previewImage: string } }
  • favorites: { listingId : { id: number, listingId: number, userId: number } }
  • offers: { listingId : { id: number, listingId: number, offerAmount: number } }
  • tours: { listingId : { id: number, listingId: number, userId: number, startDate: string, endDate: string } }
  • images: { listingId : { id: number, listingId: number, url: string } }
  • }

Clicking on My Tours

  • state: {
  • session: { user: {userId: int, username: string, profileImage: string}}
  • allListings: { listingId : { listingId : number, address: string, city: string, state: string, zipCode: number, lat: number, lng: number, name: string, description: string, type: string, beds: number, baths: number, sqft: number, price: number, previewImage: string } }
  • favorites: { listingId : { id: number, listingId: number, userId: number } }
  • offers: { listingId : { id: number, listingId: number, offerAmount: number } }
  • tours: { listingId : { id: number, listingId: number, userId: number, startDate: string, endDate: string } }
  • images: { listingId : { id: number, listingId: number, url: string } }
  • }

Clicking on My Listings

  • state: {
  • session: { user: {userId: int, username: string, profileImage: string}}
  • allListings: { listingId : { listingId : number, address: string, city: string, state: string, zipCode: number, lat: number, lng: number, name: string, description: string, type: string, beds: number, baths: number, sqft: number, price: number, previewImage: string } }
  • favorites: { listingId : { id: number, listingId: number, userId: number } }
  • offers: { listingId : { id: number, listingId: number, offerAmount: number } }
  • tours: { listingId : { id: number, listingId: number, userId: number, startDate: string, endDate: string } }
  • images: { listingId : { id: number, listingId: number, url: string } }
  • }

Clone this wiki locally