Offline-First Architecture
NetInfo, กลยุทธ์การซิงค์, การแก้ไขข้อขัดแย้ง, การจัดการคิว, UX แบบออฟไลน์
1สถาปัตยกรรมแบบ offline-first ในบริบทของแอปพลิเคชันมือถือคืออะไร?
สถาปัตยกรรมแบบ offline-first ในบริบทของแอปพลิเคชันมือถือคืออะไร?
คำตอบ
สถาปัตยกรรมแบบ offline-first เป็นแนวทางการออกแบบที่แอปพลิเคชันถูกสร้างให้ทำงานกับข้อมูลในเครื่องเป็นหลัก โดยการซิงค์กับเซิร์ฟเวอร์เป็นเรื่องรอง ข้อมูลจะถูกจัดเก็บในเครื่องก่อนแล้วจึงซิงค์กับ backend เมื่อมีการเชื่อมต่อ แนวทางนี้รับประกันประสบการณ์ผู้ใช้ที่ราบรื่นแม้ไม่มีการเชื่อมต่อเครือข่าย ซึ่งต่างจากแนวทาง online-first ที่ต้องพึ่งพาการเชื่อมต่อจึงจะทำงานได้
2ควรใช้แพ็กเกจใดในการตรวจจับสถานะการเชื่อมต่อเครือข่ายใน React Native?
ควรใช้แพ็กเกจใดในการตรวจจับสถานะการเชื่อมต่อเครือข่ายใน React Native?
คำตอบ
@react-native-community/netinfo เป็นแพ็กเกจมาตรฐานสำหรับตรวจจับสถานะการเชื่อมต่อเครือข่ายใน React Native โดยให้ข้อมูลว่าอุปกรณ์เชื่อมต่ออยู่หรือไม่ ประเภทการเชื่อมต่อ (WiFi, เซลลูลาร์) และมี listener สำหรับตอบสนองต่อการเปลี่ยนแปลงการเชื่อมต่อแบบเรียลไทม์ ถือเป็นส่วนประกอบสำคัญสำหรับการสร้างสถาปัตยกรรมแบบ offline-first
3จะใช้ NetInfo เพื่อรับฟังการเปลี่ยนแปลงการเชื่อมต่อแบบเรียลไทม์ได้อย่างไร?
จะใช้ NetInfo เพื่อรับฟังการเปลี่ยนแปลงการเชื่อมต่อแบบเรียลไทม์ได้อย่างไร?
คำตอบ
NetInfo.addEventListener ช่วยให้สามารถสมัครรับการเปลี่ยนแปลงการเชื่อมต่อและคืนค่าฟังก์ชันสำหรับยกเลิกการสมัคร ฟังก์ชันนี้ควรถูกเรียกใน cleanup ของ useEffect เพื่อป้องกันการรั่วไหลของหน่วยความจำ callback จะได้รับอ็อบเจกต์ state ที่มี isConnected, type และข้อมูลอื่น ๆ เกี่ยวกับการเชื่อมต่อปัจจุบัน แนวทางนี้จำเป็นอย่างยิ่งสำหรับการตอบสนองต่อการเปลี่ยนแปลงของเครือข่ายแบบไดนามิก
ความแตกต่างระหว่าง isConnected และ isInternetReachable ใน NetInfo คืออะไร?
ควรใช้กลยุทธ์การซิงโครไนซ์แบบใดสำหรับแอปจดบันทึกแบบ offline-first?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ React Native อื่นๆ
พื้นฐาน JavaScript
พื้นฐาน React
พื้นฐาน React Native
React Hooks
TypeScript สำหรับ React และ React Native
คอมโพเนนต์และ API ของ React Native
การจัดสไตล์และเลย์เอาต์ใน React Native
การนำทางใน React Native
การจัดการ State ใน React Native
Networking และ API ใน React Native
การคงอยู่ของข้อมูล
ฟอร์มและการตรวจสอบความถูกต้อง
แอนิเมชัน React Native
Native Modules & Bridge
โค้ดเฉพาะแพลตฟอร์ม
สิทธิ์และ Device API
Push Notifications
การทดสอบ React Native
การ Debug React Native
Build & Deployment
Expo vs React Native Bare
การเพิ่มประสิทธิภาพ
การจัดการหน่วยความจำ
Architecture Patterns
React Native New Architecture
แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย
CI/CD React Native
Monorepo และการแชร์โค้ด
หัวข้อขั้นสูง
วงจรชีวิตแอปและการทำงานเบื้องหลัง
การยืนยันตัวตนและการจัดการเซสชัน
Monitoring & Crash Reporting
เชี่ยวชาญ React Native สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี