Sto cercando di capire Flux e Reactjs.ReactJS + Flux - Come implementare toasts/notifiche?
consideri un seguito, molto semplice scenario:
Si dispone di un modulo con alcuni ingressi. Quando l'utente invia il modulo,
ActionCreator.publishAnnouncement(this.state.announcement);
viene chiamato all'interno del componente modulo. Questo è come il metodo publishAnnouncement assomiglia:
var publishAnnouncement = function (announcement) {
AnnouncementAPI.publishAnnouncement(
announcement,
successCallback,
failureCallback
)
};
AnnouncementAPI è solo un wrapper seguito di una chiamata HTTP POST AJAX. Ci vogliono due callback: su successo e fallimento.
E ora: ho bisogno di mostrare una notifica/pane tostato sullo schermo - che indica il successo o il fallimento. Come lo faresti in un modo Flux?
Stavo pensando di creare il componente di notifica e di renderlo nel mio modulo. come la seguente:
<Notification title={this.state.notification.title} message={this.state.notification.title} visible={this.state.notification.visibility} // ?? onTimeExceeded ?? />
ma come faccio a gestire tali callback? Devo creare NotificationStore che ascolta gli eventi ANNOUNCEMENT_PUBLISHING_SUCCEEDED e ANNOUNCEMENT_PUBLISHING_FAILED? In reazione a tali eventi, il negozio emette l'evento CHANGE e quindi i miei aggiornamenti di notifica.
Ma anche se lo faccio, come dovrei istruire la mia notifica a mostrare/nascondere? O peggio, per mostrarsi e nascondersi dopo 2 secondi?
Ho visto alcuni componenti su GitHub e ognuno di loro utilizza i riferimenti ecc., Che personalmente non mi piace.
Per riassumere: Come implementare questo? O forse un tale progetto esiste? Se sì, dove posso trovarlo?
Facebook parla di implementare notifiche (messaggi utente) in Facebook utilizzando React e Flux nel loro video iniziale di architettura del flusso. –
'refs' sono il modo consigliato di implementarlo. Scusa, la tua personalità ha bisogno di cambiare ;-) – Eric
Ma non dovrebbe essere la funzione di rendering che descrive uno stato del tuo componente in un certo punto del tempo? Se è così, allora l'uso di un componente del genere con refs lo spezza completamente. – slnowak