Направих някои актуализации, за да направя компонентите на реакцията още „по-глупави“, като добавих нови полета към GraphQL, за да му позволя да върши повече работа, а компонентите да вършат по-малко. Първоначално някои данни щяха да идват като масив от обекти и аз извиках метода map няколко пъти, за да получа данните в отделни масиви за всеки компонент на диаграмата. Така че накарах GraphQL да ми върне данните, които искам в масив от стойности. Сега контейнерният компонент просто предава данни на обикновения компонент и върши най-малко работа, за да изведе изгледа. Така че още едно повишаване на производителността. GraphQL е твърде страхотен.

Ето я новата заявка. Забележете колко е декларативно.

query: `
  {
    weatherForecast(city:”${term}”) {
      city {
        id,
        name,
        coord{
          lat,
          lng: lon
        }
      },
      pressure_data,
      humidity_data,
      temp_f_data,
      pressure_avg,
      humidity_avg,
      temp_f_avg,
   } 
 }