我想了解Flux和Reactjs。ReactJS + Flux - 如何實現吐司/通知?
考慮後面的,很簡單的場景:
你有幾個輸入的形式。當用戶提交表單時,
ActionCreator.publishAnnouncement(this.state.announcement);
在我的表單組件中被調用。 這是publishAnnouncement方法的樣子:
var publishAnnouncement = function (announcement) {
AnnouncementAPI.publishAnnouncement(
announcement,
successCallback,
failureCallback
)
};
AnnouncementAPI只是在一個AJAX HTTP POST調用的包裝。它需要兩個回調 - 成功和失敗。
現在:我需要在屏幕上顯示通知/敬酒 - 指示成功或失敗。 你如何以Flux的方式做到這一點?
我正在考慮創建通知組件並將其呈現在我的窗體中。 像下面這樣:
<Notification title={this.state.notification.title} message={this.state.notification.title} visible={this.state.notification.visibility} // ?? onTimeExceeded ?? />
但我怎麼處理這些回調?我應該創建NotificationStore來監聽ANNOUNCEMENT_PUBLISHING_SUCCEEDED和ANNOUNCEMENT_PUBLISHING_FAILED事件嗎?針對這些事件,商店發出CHANGE事件並因此發出通知更新。
但即使我這樣做,我應該如何指示我的通知顯示/隱藏?或者更糟的是,在2秒後出現並隱藏?
我在GitHub上看到過很少的組件,每個組件都使用了我個人不喜歡的參考等。
總結: 你會怎麼實現這個?或者也許這樣的項目存在?如果是這樣,我在哪裏可以找到它?
Facebook自己談論的是在Facebook中使用React和Flux在其流量架構初始視頻中實現通知(用戶消息)。 –
'refs'是推薦的方法。對不起,你的個性需要改變;-) – Eric
但是不應該呈現描述你的組件在某個時間點的狀態的函數嗎?如果是這樣,那麼使用這樣一個組件與refs完全打破它。 – slnowak