In breve, sono librerie molto diverse per scopi molto diversi, ma sì, ci sono alcune vaghe somiglianze.
Redux è uno strumento per la gestione dello stato in tutta l'applicazione. Di solito viene utilizzato come architettura per le interfacce utente. Pensalo come un'alternativa a (metà di) Angular.
RxJS è una libreria di programmazione reattiva. Di solito viene utilizzato come strumento per eseguire attività asincrone in JavaScript. Consideralo un'alternativa alle promesse.
La programmazione reattiva è un paradigma (modo di lavorare e pensare) in cui i cambiamenti dei dati vengono osservati a distanza . I dati non vengono modificati a distanza .
Ecco un esempio di modifica a distanza :
// In the controller.js file
model.set('name', 'George');
Il Modello viene modificato dal Controller.
Ecco un esempio di osservato da lontano :
// logger.js
store.subscribe(function (data) {
console.log(data);
});
Nel Logger, osserviamo le modifiche ai dati che avvengono in Store (a distanza) e scriviamo sulla console.
Redux utilizza solo un po 'il paradigma Reactive: lo Store è reattivo. Non imposti il suo contenuto da una certa distanza. Ecco perché non c'è store.set()
in Redux. Lo Store osserva le azioni da lontano e cambia se stesso. E lo Store consente ad altri di osservare i suoi dati a distanza.
RxJS utilizza anche il paradigma Reattivo, ma invece di essere un'architettura, ti fornisce elementi costitutivi di base, osservabili , per realizzare questo modello di "osservazione a distanza".
Per concludere, cose molto diverse per scopi diversi, ma condividono alcune idee.