I den här handledningen kommer du att lära dig hur du kan förbättra användargränssnittet (UI) för din chatt-applikation genom att använda OpenAI API. Hittills har chatten varit ganska rudimentär, och genom olika anpassningar kommer vi att optimera UI så att det bättre överensstämmer med dagens teknik, speciellt som vi känner igen det från ChatGPT. Vid slutet av denna guide kommer du att kunna skapa en mer tilltalande användarupplevelse.

Viktigaste insikter

  • Aktivera inaktivering av inmatningsfält under svarsgenereringen.
  • Visa hela chatt-historiken istället för bara det senaste svaret.
  • Förbättringar i layouten och presentationen av chatten.
  • Lös vanliga fel och implementera en konsekvent statushantering.

Steg-för-steg-guide

1. Inaktivera inmatningsfälten under svarsgenereringen

Börja med att se till att inmatningsfältet och knappen "Skicka" inaktiveras medan svaret genereras av API:et. Skapa därför ett nytt tillstånd med useState för flaggan Pending.

Sätt pending till true när användaren klickar på "Skicka", och sätt det till false så snart svaret har tagits emot. Detta låter dig kontrollera UI och justera inmatningsfälten därefter.

När du har provat detta steg bör du märka att inmatningsfältet inaktiveras under väntetiden på svaret och att det föregående inmatningsfältet rensas så att användaren kan skriva in ett nytt meddelande.

Förbättra användarupplevelsen för en chatt-app med OpenAI API

2. Ändra layouten för chatt-historiken

För att skapa en mer tilltalande layout bör du visa meddelandehistoriken under inmatningsfältet, liknande som hos ChatGPT. Du måste anpassa ordningen på elementen i din JSX-kod så att historiken är högst upp.

Förbättra användarupplevelsen för en chattapp med OpenAI API

Efter att du har gjort denna ändring, testa layouten genom att skriva in ett meddelande och skicka det. Historiken bör nu visas ovanför inmatningsfältet.

Förbättra användarupplevelsen för en chattapp med OpenAI API

3. Använda flexbox för bättre UI-placering

För att säkerställa att inmatningsfälten och historiken är bra placerade bör du använda flexbox. Vi lägger till display: flex på den yttre containern och sätter flex-direction till column, så att elementen är vertikalt placerade.

Förbättra UX för en chattapp med OpenAI API

När du placerar dem, se också till att det finns tillräckligt med utrymme mellan meddelandeinmatningsfältet och historiken genom att använda flex: 1.

Förbättra användarupplevelsen för en chattapp med OpenAI API

4. Säkerställa full höjd för containrarna

Kom ihåg att alla containrar, inklusive body, html och din huvuddiv, behöver en full höjd på 100%. Sätt dessa attribut i CSS för att säkerställa att din layout visas korrekt.

Förbättra användarupplevelsen för en chattapp med OpenAI API.

Om layouten fortfarande inte ser ut som önskat efter dessa ändringar, kontrollera marginalerna och sätt dem till 0 för en scrollbarfri vy.

Förbättra användarupplevelsen för en chattapp med OpenAI API

5. Implementera chat-historiken

För att implementera chat-historiken, lägg till ett ytterligare tillstånd för meddelanden. Detta tillstånd lagrar alla skickade meddelanden. När du skickar ett nytt meddelande måste du lägga till det i meddelande-tillståndet.

Förbättra användarupplevelsen för en chattapp med OpenAI API

Se till att du använder map-funktionen för att visa varje meddelande från meddelande-arrayer på lämpligt sätt. Detta möjliggör korrekt utmatning av varje användar- och API-meddelande.

Förbättra användarupplevelsen för en chattapp med OpenAI API

Lägg till felhantering

För att skapa en robust användarupplevelse måste du hantera fel som kan uppstå under användningen, t.ex. serverfel 503. Implementera en felhanteringsrutin som informerar användarna och vid behov försöker göra en begäran igen efter en kort väntetid.

Förbättra användarupplevelsen för en chattapp med OpenAI API

Förbättringar av meddelandeutseendet

För tillfället kan inte meddelanden lätt skiljas åt. Det skulle vara till hjälp att visa varje meddelande med en anteckning om det kommer från användaren eller från AI. Fundera på hur du kan anpassa utseendet för att skapa tydliga skillnader mellan användarmeddelanden och AI-meddelanden.

Förbättra användarupplevelsen för en chattapp med OpenAI API

Sammanfattning

I den här handledningen har du lärt dig hur du genom riktade UI-anpassningar kan förbättra användarupplevelsen för din chattapplikation med OpenAI API avsevärt. Från att inaktivera inmatningsfälten under API-svar till att implementera en fullständig chattlogg - dessa tips hjälper dig att ta din applikation till nästa nivå.

Vanliga frågor

Hur kan jag inaktivera inmatningsfälten under svarsgenereringen?Använd en useState för att ställa in inmatningsfältet och knappen på true under väntetiden.

Hur kan jag implementera chattloggen?Använd en extra state för att spara alla meddelanden och rendera dem med hjälp av map i JSX.

Varför visas inte min layout korrekt?Se till att alla containrar har en höjd på 100% och kontrollera marginalerna för eventuella skrollbarer.

Hur kan jag ge användarfeedback vid fel?Implementera en felhanteringsrutin som visar ett begripligt meddelande vid ett fel och eventuellt kan initiera ett nytt försök.