2016-02-10 35 views
7

Tôi có một ứng dụng CRUD đơn giản mà tôi đang xây dựng trong nút và đã hoàn tất việc tạo API còn lại trong Express. Bây giờ tôi đang tìm cách thêm chức năng kết thúc trước và muốn sử dụng phản ứng + redux như một bài tập học tập. Có vẻ như tuy nhiên tất cả các hướng dẫn xung quanh việc truy cập dữ liệu trực tiếp bằng cách sử dụng Redux, thay vì giao tiếp với một API nội bộ.React + Redux với api còn lại?

Câu hỏi của tôi là, đó là cách chính xác để xây dựng SPA với redux? Tôi đã có ấn tượng tốt nhất là tách riêng phần front end khỏi backend để tôi có thể, ví dụ, xây dựng một ứng dụng iPhone và không phải xây dựng lại backend.

Xin cảm ơn trước.

Trả lời

10

Redux không liên quan gì đến giao tiếp API, đó là thư viện dành cho quản lý trạng thái phía máy khách. Bạn có thể sử dụng bất kỳ phương pháp nào để kích hoạt và xử lý các yêu cầu, phổ biến nhất là sử dụng các phần mềm trung gian kết nối api tùy chỉnh, các chức năng trả về, yêu cầu từ người tạo tác vụ và sử dụng chúng với thunk-middleware hoặc sử dụng các phương pháp thay thế như rx-bridges hoặc sagas.

+0

Điều đó làm rõ mọi thứ - cảm ơn bạn rất nhiều vì trả lời và phần mềm trung gian được đề xuất. – Dave

0

Thứ nhất, xem các ví dụ từ tài liệu Redux, "Real World" là hữu ích nhất: https://github.com/reactjs/redux/tree/master/examples/real-world

Sau đó, bạn có thể nghiên cứu utils hữu ích như Redux-hứa-middleware.

Cuối cùng, bạn có thể thử sử dụng một số utils phức tạp để kết nối ứng dụng redux của bạn với API. redux-rest-adapter là một trong số đó.

+1

Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. - [Từ đánh giá] (/ review/low-quality-posts/18975041) – chrisz

+0

@chrisz Tôi nghĩ loại câu trả lời này có thể là một ngoại lệ. Nhắc tôi về câu trả lời hàng đầu cho [Làm cách nào để bắt đầu với Node.js] (https://stackoverflow.com/questions/2353818/how-do-i-get-started-with-node-js#5511507) – BonsaiOak

+0

@GoodTrip xem xét đánh dấu câu trả lời của bạn là một wiki cộng đồng để những người khác có thể đóng góp. – BonsaiOak

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