Logo

เข้าสู่ระบบ

Welcome to apollo graphql + react query

Posted on

1/3/2023

Cover Image for Welcome to apollo graphql + react query

Best api tool i’have ever used.

ไม่ต้องทำ global storage / state management อีกต่อไป

เกิดอะไรขึ้นในปี 2022!!

pain ในปีเก่าๆ

  1. เวลายิง request แล้วต้องเก็บ response ไว้ที่ไหน ถ้าจะใช้หลายๆที่
  2. เวลามี state ที่จะใช้ร่วมกันหลายหน้ามากๆต้องทำยังไง
  3. เขียน global state management เป็น pain มากๆ learning curve สูงปริ้ด mobx, redux คืออะไร
    1. redux saga, redux thunk, mobx 4, mobx 5
  4. เรา handle state loading ของแต่ละ request โดยการเอามันไปแปะไว้ใน global state เพราะว่าต้องใช้ global state ในการยิง api
Future

welcome to the future

React ได้ออก version 16.8 ที่คิดว่าเป็น major change มากที่สุด ( 2018 )

  • เอา useState เข้ามา
  • มี useContext

ตอนนี้ community ก็บอกกันว่า เห้ย useContext มันจัดการได้เหมือน redux เลยวะ แล้วเราจะใช้ redux กันทำไมวะ
ตอนนั้น technology ยังไม่ได้ imprement useContext กัน

แต่ว่าตอนนี้ หลายๆ lib มี useContext เรียบร้อยแล้ว และ 1 ใน key lib ที่ทำให้ชีวิตง่ายขึ้นก็คือ react query

React Query

Fetch, cache and update data in your React and React Native applications all without touching any "global state".

ใช่ครับ เราสามารถจัดการ request state ได้ โดยที่ไม่ต้องใช้ global state

เพราะว่า React Query ได้ Cache Request – Response ไว้แล้วใน Context and Provider ของ React ทำให้ถ้าเรายิง request นั้นซ้ำไปเรื่อยๆ Request นั้นจะไม่ถูกส่งออกไปที่ backend แต่มันจะใช้ cache แทน

But Why apollo graphql

จริงๆแล้ว React Query ก็สามารถใช้กับ REST-Api ได้นะครับ

Example

useProfileQuery = useQuery("profileKey", async () => api.getProfile())

ทุกครั้งที่เรียก profileKey มันก็จะใช้ response นี้กลับมาตลอดเหมือนกันครับ

แต่ว่า ถ้าอย่างนั้นทุก function ที่เราไป call มันก็จะมี key ตลอดเวลาเลยหน่ะสิ มันก็ยุ่งยากเหมือนเดิมแหะ

Apollo

อย่างแรกเลย Apollo สามารถ custom query ได้แบบ vary มากๆ และไม่ต้อง concern เรื่อง error handling กับการที่ client ลืมไปแล้วว่าต้องยิง endpoint ไหน

concept ของ graphql มีแค่สองอย่าง

query and mutation

อย่างที่สอง Apollo-GraphQL มี plugin ตัวนึงที่ทำให้เราสามารถ integrate กับ react-query ได้แบบง่ายๆ

เรียกว่า graphql-codegen

ปกติแล้ว เวลาเราเขียน query graphql version เก่าๆ เราก็จะต้องเขียนแบบ

POST /someendpoint/graphql `query getProfile { id username }`

แต่ถ้าเราใช้ codegen แล้วมันจะ gen type + action มาให้เราเสร็จสับเช่น1useGetProfile() ก็จะได้ response เดียวกับข้างบน

ถ้าเราใช้ codegen แต่ไม่ได้ใช้ plugin react-query ก็จะเขียนประมานว่า

useQuery("profileKey", () => useGetProfile())

แต่พอเรา implement react-query เข้าไป เราก็แทบจะไม่ต้องทำอะไรเลยและเราจะเรียกใช้กี่ครั้งก็ได้ ในการเปิดเวป 1 ครั้ง ก็จะได้ result เดิม แบบ cache ไว้ ไม่ต้องเก็บเองให้เสียเวลา

const { data, error, isLoading } = useGetProfile()

ตัวแปรพวกนี้ react-query จัดการให้หมดเลย เราจะใช้ตรงนี้ใน level ไหนก็ได้

เช่น level component ก็ได้, level custom hook ก็ได้

Apollo
React
ReactQuery
avatar-image

By Thitiwat Thongbor

Written on:

1/3/2023

More Stories
มีอินฟลูที่ชอบ? หา Lookalike KOL แนวเดียวกันได้ในไม่ถึง 1 นาทีด้วย AI
Influencer

มีอินฟลูที่ชอบ? หา Lookalike KOL แนวเดียวกันได้ในไม่ถึง 1 นาทีด้วย AI

การทำ Influencer Marketing ให้ประสบความสำเร็จ ไม่ได้ขึ้นอยู่กับการเลือกอินฟลูเอนเซอร์ที่มีผู้ติดตามเยอะที่สุดเสมอไป แต่คือการหา Influencer หรือ KOL ที่เหมาะกับแบรนด์ แคมเปญ และกลุ่มเป้าหมายจริง ๆ แต่เชื่อว่าหลายคนเคยเจอปัญหาเหล่านี้ “เอาคนแบบนี้ค่ะ” “ชอบฟีลประมาณนี้” “มีอินฟลูแนวคล้าย ๆ คนนี้ไหม?” แม้จะมีตัวอย่างอยู่แล้ว แต่การหา Creator ที่มีสไตล์ใกล้เคียงกันกลับต้องใช้เวลาหลายชั่วโมง ทั้งเปิด TikTok, Instagram, YouTube หรือ Lemon8 ไล่ดูทีละบัญชี เปรียบเทียบคอนเทนต์ วิเคราะห์ Performance และเช็กความเหมาะสมด้วยตัวเอง นี่คือหนึ่งในปัญหาที่ทีมการตลาดและเอเจนซี่เจอกันแทบทุกวัน วิธีหา Influencer ที่เร็วกว่าเดิมด้วย AI SHOUT! คือ AI-Driven Influencer Platform ที่ช่วยให้การ หา Influencer และ หา KOL ง่ายขึ้นกว่าที่เคย หากคุณมีอินฟลูเอนเซอร์ที่ชอบอยู่แล้ว เพียงเข้าไปที่โปรไฟล์ของ Creator คนนั้นบนแพลตฟอร์ม [

20 ก.ค. 2026
Campaign Management คืออะไร? ระบบจัดการแคมเปญอินฟลูฯ Influencer Marketing ที่ช่วยลดเวลาทำงานกว่า 95%
Influencer

Campaign Management คืออะไร? ระบบจัดการแคมเปญอินฟลูฯ Influencer Marketing ที่ช่วยลดเวลาทำงานกว่า 95%

หากคุณกำลัง หาอินฟลู, หา KOL หรือ หา Creator เพื่อทำแคมเปญ Influencer Marketing การเลือกคนที่ใช่อาจเป็นแค่จุดเริ่มต้น ความท้าทายที่แท้จริงคือ การบริหารจัดการแคมเปญ (Campaign Management) หลังจากเริ่มงาน ไม่ว่าจะเป็นการส่งบรีฟ ติดตามสถานะ ตรวจงาน อนุมัติคอนเทนต์ และเช็กวันโพสต์ของ Creator แต่ละคน เมื่อมี อินฟลูฯ หลายสิบหรือหลายร้อยคน การจัดการผ่าน Excel, Google Sheet, LINE หรืออีเมลหลายช่องทาง อาจทำให้เสียเวลา ข้อมูลตกหล่น และติดตามงานได้ยาก จึงเป็นเหตุผลที่หลายแบรนด์และเอเจนซี่เลือกใช้ Campaign Management Platform เพื่อจัดการแคมเปญ Influencer Marketing อย่างเป็นระบบ Campaign Management คืออะไร? Campaign Management คือระบบที่ช่วยบริหารและติดตามทุกขั้นตอนของการทำ Influencer Marketing Campaign ตั้งแต่เริ่มต้นจนจบแคมเปญ แทนที่จะต้องเปิดหลายไฟล์หรือหลายเครื่องมือ คุณสามารถติดตามทุกสถานะของแคมเปญได้ผ่าน [

20 ก.ค. 2026
วิธีหาอินฟลูสาย Affiliate, Live สด และปักตะกร้า ที่ “ขายได้จริง”
E-Commerce

วิธีหาอินฟลูสาย Affiliate, Live สด และปักตะกร้า ที่ “ขายได้จริง”

หลายแบรนด์ยังเลือกอินฟลูจาก ยอดผู้ติดตาม (Followers) หรือ ยอด Engagement เป็นหลัก แต่สำหรับแคมเปญที่มีเป้าหมายเป็น ยอดขาย (Sales Conversion) ตัวเลขเหล่านี้อาจไม่เพียงพอ คำถามที่ควรถามคือ อินฟลูคนนี้ “ขายของได้จริง” หรือไม่? วันนี้ SHOUT! มีฟีเจอร์ GMV Affiliate Tracking ที่ช่วยให้แบรนด์และเอเจนซี่เลือก Creator จาก Data การขายจริง แทนการคาดเดา GMV Affiliate Tracking คืออะไร? GMV Affiliate Tracking คือ Dashboard ที่ช่วยวิเคราะห์ประสิทธิภาพของ Creator จากข้อมูลยอดขายจริง เหมาะสำหรับการหา ทำให้การเลือก Influencer แม่นยำกว่าการดูยอดวิวเพียงอย่างเดียว ดูข้อมูลการขายของ Influencer ได้ลึกแค่ไหน? 1. GMV (Gross Merchandise Value) ดูยอดขายรวมที่ Creator สร้างได้ [

20 ก.ค. 2026
ยังใช้หลาย Tool ทำ Influencer Marketing อยู่เหรอ? ถึงเวลารวมทุกอย่างไว้ในแพลตฟอร์มเดียว กับ SHOUT!
Brand

ยังใช้หลาย Tool ทำ Influencer Marketing อยู่เหรอ? ถึงเวลารวมทุกอย่างไว้ในแพลตฟอร์มเดียว กับ SHOUT!

การทำ Influencer Marketing ในปัจจุบันไม่ใช่แค่การ “หาอินฟลูเอนเซอร์” อีกต่อไป นักการตลาดและเอเจนซี่จำนวนมากต้องสลับการทำงานระหว่างหลายเครื่องมือในแต่ละแคมเปญ ตั้งแต่การหา KOL, วางแผนกลยุทธ์, เช็คราคา, ต่อรอง, จัดการงาน, ติดตามผล ไปจนถึงการวิเคราะห์ Performance หลังจบแคมเปญ ผลลัพธ์คือ

20 ก.ค. 2026
Logo

To Unleash full potential of your Brands through Right Influencers

Affiliate logo
Affiliate logo
Affiliate logo

บริษัท เชาท์ ทูเกทเตอร์ จำกัด / Shout Together Company Limited

37 ซอยเพชรเกษม 60/3 บางหว้า ภาษีเจริญ กรุงเทพมหานคร 10160 ประเทศไทย

Email

contact@shoutkol.com

contact-logo-https://www.facebook.com/shout.th
contact-logo-https://www.instagram.com/shout.th
contact-logo-https://th.linkedin.com/company/shout-influencer-platform
contact-logo-https://www.tiktok.com/@shout.th

© Copyright SHOUT! 2026, All Rights Reserved