Cách thích hợp để khởi tạo dữ liệu (không đồng bộ) với RefluxJS là gì? Có một cái gì đó tương tự như giải quyết AngularJS ', hoặc thực hiện Flux không có gì để làm với điều này (Các bộ định tuyến nên được xử lý reponsibility này)?Cách thích hợp để khởi tạo dữ liệu
Trả lời
Trong thành phần cấp cao nhất của ứng dụng, sử dụng phương thức comoponentWillMount
(docs) để kích hoạt hành động tìm nạp dữ liệu. Phương thức này sẽ được gọi khi thành phần ban đầu được hiển thị.
Ví dụ:
// Create an async action, that will request data using a promise
// Using the recently released (v0.2.2) helpers for async actions
var actions = Reflux.createActions({
init: {asyncResult: true}
});
actions.init.listenAndPromise(promiseToGetData);
// Update the store when the init action's promise is completed
var store = Reflux.createStore({
listenables: actions,
onInitCompleted: function (data) {
// do stuff
this.trigger(data)
}
});
var App = React.createClass({
mixins: [Reflux.connect(store)],
componentWillMount: function() {
// When this component is loaded, fetch initial data
actions.init()
}
});
trào ngược có một API cho thực này.
Các tài liệu thuộc diện nghèo tại mô tả nó, nhưng Spoike (tác giả trào ngược của) đưa ra một câu trả lời cùng với một mã ví dụ:
Câu hỏi này là về tìm nạp dữ liệu không đồng bộ. Reflux đặt phương thức 'getInitialState' của cửa hàng trên các thành phần React và không nên được sử dụng để tìm nạp dữ liệu một cách không đồng bộ. Ví dụ trong câu trả lời bạn đã liên kết là cho các giá trị tĩnh. Xem React [documentation] chính thức (https://facebook.github.io/react/tips/initial-ajax.html) để biết ví dụ và http://stackoverflow.com/questions/26615307 –
- 1. Cách thích hợp để nhận dữ liệu từ Cơ sở dữ liệu Access
- 2. Khởi tạo dữ liệu Vue bằng AJAX
- 3. java.util.Stack cấu trúc dữ liệu thích hợp?
- 4. TCompressionStream khởi tạo với dữ liệu
- 5. Cách thích hợp để tạo DAO trong PHP
- 6. Khởi tạo lớp thích hợp trong C# và Winforms
- 7. Cách thích hợp để khởi tạo các trường lồng nhau trong các dạng Rails
- 8. Cách thích hợp để khởi tạo class_attribute trong Rails là gì?
- 9. Cách thích hợp để khởi tạo các chuỗi rỗng trong PHP là gì?
- 10. Java: Ngoại lệ thích hợp cho lỗi khởi tạo
- 11. Một cách thích hợp để tạo ma trận trong C++
- 12. Vùng chứa thích hợp nhất cho vùng chứa dữ liệu?
- 13. Kết hợp các thuộc tính chú thích dữ liệu
- 14. Khởi tạo dữ liệu.frames()
- 15. Cách thích hợp để lưu trữ múi giờ trong cơ sở dữ liệu?
- 16. Tự động tạo chú thích dữ liệu từ trường tên trường hợp lạc đà
- 17. Cách thích hợp để sử dụng siêu dữ liệu Unicode trong setup.py là gì?
- 18. Cách thích hợp để lưu trữ dữ liệu conf của ứng dụng trong Java là gì?
- 19. Cách thích hợp để biểu thị loại dữ liệu mảng cho phpDocumentor?
- 20. Cách thích hợp để xóa bảng/cơ sở dữ liệu của Realm?
- 21. Cách "thích hợp" để lưu trữ dữ liệu nhị phân bằng C++/STL
- 22. Cách thích hợp để gọi nguồn dữ liệu JNDI trong Tomcat
- 23. cách thích hợp để sao lưu/khôi phục cơ sở dữ liệu rủi ro là gì?
- 24. Cách thích hợp để lưu dữ liệu từ cuộc gọi API với nodejs
- 25. Cách thích hợp để tiêu thụ dữ liệu từ RESTFUL API trong django
- 26. Cách thích hợp để trở về từ ggvis khi dữ liệu trống?
- 27. Cách thích hợp để sửa đổi cấu trúc dữ liệu Qt bằng vòng lặp foreach
- 28. Cách thích hợp để đồng bộ hóa các đạo cụ với dữ liệu
- 29. Làm cách nào để MSVC đặt dữ liệu chưa được khởi tạo bằng .bss?
- 30. Chú thích dữ liệu về hợp đồng dịch vụ WCF
Chỉ cần một câu hỏi: Nếu tôi đang sử dụng refluxjs với phản ứng-router, những gì xảy ra nếu lời hứa bị từ chối; Việc gắn kết bị tạm dừng (về mặt kỹ thuật, không có gì xảy ra) hay nó được xử lý thủ công? – srph
Thành phần sẽ vẫn gắn kết, lời kêu gọi hành động là cháy và quên. Nếu lời hứa bị từ chối, cửa hàng sẽ vẫn nhận được kết quả và bạn có thể thêm trình xử lý 'onInitFailed'. Xem https://github.com/spoike/refluxjs#asynchronous-actions để biết thêm về các hành động không đồng bộ. –
Cảm ơn. Nhân tiện, bạn có tham khảo '' 'componentWillMount''' thay vì' '' onComponentWillMount''' không? – srph