Singkatnya, mereka adalah perpustakaan yang sangat berbeda untuk tujuan yang sangat berbeda, tetapi ya ada beberapa kesamaan yang tidak jelas.
Redux adalah alat untuk mengelola status di seluruh aplikasi. Biasanya digunakan sebagai arsitektur untuk UI. Anggap saja sebagai alternatif (setengah dari) Angular.
RxJS adalah pustaka pemrograman reaktif. Biasanya digunakan sebagai alat untuk menyelesaikan tugas asinkron di JavaScript. Anggap saja sebagai alternatif dari Janji.
Pemrograman reaktif adalah paradigma (cara bekerja dan berpikir) dimana perubahan data diamati dari kejauhan . Data tidak berubah dari kejauhan .
Berikut contoh perubahan dari jarak jauh :
// In the controller.js file
model.set('name', 'George');
The Model berubah dari Controller.
Berikut contoh pengamatan dari kejauhan :
// logger.js
store.subscribe(function (data) {
console.log(data);
});
Di Logger, kami mengamati perubahan data yang terjadi di Store (dari jarak jauh), dan menulis ke konsol.
Redux menggunakan paradigma Reaktif sedikit: Store itu reaktif. Anda tidak mengatur isinya dari kejauhan. Itu sebabnya tidak ada store.set()
di Redux. Store mengamati tindakan dari kejauhan, dan mengubah dirinya sendiri. Dan Store memungkinkan orang lain untuk mengamati datanya dari kejauhan.
RxJS juga menggunakan paradigma Reaktif, tetapi alih-alih menjadi arsitektur, RxJS memberi Anda blok bangunan dasar, Observable , untuk mencapai pola "mengamati dari jarak jauh" ini.
Untuk menyimpulkan, hal-hal yang sangat berbeda untuk tujuan yang berbeda, tetapi berbagi beberapa ide.