2016-02-24 23 views
5

Tôi có một ứng dụng iOS hiện có mà tôi muốn bắt đầu thêm một số màn hình Native React vào. Ứng dụng sử dụng Firebase với tính năng kiên trì được bật để ứng dụng hoạt động ngoại tuyến. Có cách nào để sử dụng Firebase trực tiếp trong React Native trong khi duy trì chức năng ngoại tuyến không?Firebase có thể hoạt động ngoại tuyến với React Native không?

Nếu câu trả lời là "Có", iOS và React Native có cùng lưu trữ dữ liệu cục bộ không? Điều này sẽ rất quan trọng, để thay đổi dữ liệu ngoại tuyến trên màn hình iOS sẽ phản ánh những thay đổi dữ liệu được thực hiện từ màn hình React Native và ngược lại.

Cảm ơn bạn đã chia sẻ thông tin chi tiết về điều này!

+0

bạn có quản lý để giải quyết vấn đề không? Cảm ơn. –

Trả lời

3

SDK javascript sẽ tiếp tục yêu cầu ghi mới khi bạn ngoại tuyến và sẽ đồng bộ hóa với máy chủ khi bạn trực tuyến. Nhưng nếu bạn hy vọng sẽ hiển thị một danh sách với dữ liệu đã được tìm nạp trước đó từ firebase, thì bạn sẽ không may mắn với Javascript. Một trong những câu trả lời đề cập đến Firestack, nhưng nó không còn được hỗ trợ nữa.

Trên một dự án, tôi vừa kết thúc cài đặt gói này https://github.com/invertase/react-native-firebase. Nó là cầu nối với ios & SDK Android gốc cho Firebase và nếu bạn sử dụng nó, bạn cũng có thể sử dụng tính bền bỉ.

Đã kiểm tra và xác minh. Tất cả các công trình tuyệt vời! :)

+0

Điều này giống như thư viện có thể làm cho phản ứng có nguồn gốc phản ứng có nguồn gốc cho các dự án iOS trong tương lai của tôi. Cảm ơn rất nhiều vì đã chia sẻ @Daniel! – bgolson

+0

Xin chào Daniel. Vì vậy, bạn có khuyên bạn nên sử dụng gói này cho ứng dụng gốc Firebase/phản ứng gốc của tôi không? Giống như thay vì 'npm install firebase' tôi sẽ chỉ làm' npm i react-native-firebase'? Các lợi thế là gì? Cảm ơn. – MarksCode

+0

Nó hoạt động tốt. Tôi đang sử dụng nó trong một dự án, đó là chưa có trong AppStore, nhưng sớm được. Nó nhanh hơn sau đó thực hiện js và cung cấp sự kiên trì ngoại tuyến - được yêu cầu trong dự án của chúng tôi. Một lợi ích phụ là - phân tích, báo cáo sự cố. Họ thậm chí có auth điện thoại trong phiên bản mới nhất (tôi chưa thử nghiệm nó). Tôi nghĩ rằng đó là một sự thay thế khá vững chắc cho API JS của Firebase trong RN. –

4

Firebase's offline disk persistence hiện chỉ khả dụng trong các SDK iOSAndroid gốc của Firebase. Nó chưa có sẵn cho JavaScript SDK.

+0

Wow, cảm ơn rất nhiều vì đã trả lời nhanh Frank! Đây có phải là điều bạn đang thêm vào Javascript SDK không? Và nếu có, bạn có thấy trước việc có thể đồng bộ hóa kho dữ liệu cục bộ giữa React Native và Native iOS không? – bgolson

+0

Bất kỳ ai biết câu trả lời này có được cập nhật sau lần cập nhật phản ứng cuối cùng không? – Oximer

+0

Firebase có thể hoạt động ngoại tuyến giống như web, nhưng các thay đổi không bị kéo dài về mặt thể chất, nó phải được xóa trước khi kết thúc phiên. – mamu

10

Hoặc, bạn có thể sử dụng Firestack, một thư viện gốc hoạt động với cả iOS và Android trên bản gốc phản ứng.

hỗ trợ ngoại tuyến được kích hoạt cùng với lưu trữ, thời gian thực cơ sở dữ liệu, xác thực, cấu hình từ xa (đang phát triển), vv

(tiết lộ: Tôi là một trong những tác giả chính của Firestack)

+2

Ah bạn nói đúng, nhưng nó vẫn là một thư viện tốt để giao tiếp RN với Firebase, imho. – user2552643

+3

Vâng, đó là câu trả lời và là câu trả lời hay nhất về vấn đề đó, liệu anh ta có tạo ra repo không? – T4deu

Các vấn đề liên quan