2016-04-07 19 views
1

Burada biraz kafa karıştırıcım var. İki uygulamam var. Bunlar ayrı araçlar. AMA, araç 1'den biri, araç 2'nin bir bölümünü kullanır. NASIL aracı 1, araç 2 Redux durumuna girebilir? Onları bir şekilde bağlamamı sağlayan bir ara katman var mı?Paylaşılan Redux Farklı Uygulama mağazaları .. nasıl?

TAKIM APP1 --- --- kendi redux mağaza TAKIM Uyg2 vardır ben APP1 için Uyg2 bir davranış gerek kendi redux mağaza

sahiptir. Yani, yeni bir sürümü "oluşturmak" yerine, sadece APP2'nin alt bölümünü içe aktarın ve bunu kullanın .... ŞİMDİ, işte ovuştur. APP1 şimdi APP2 alt bileşeninde depoladığı durumları nasıl ayarlayacağınızı ve nasıl alacağını öğrenmeye ihtiyaç duyuyor.

Bunu yapmak için yeniden kullanılacak bir metodoloji var mı, yoksa?

kötüsü kötü söz konusu,

+0

APP1 için APP2'den bir "davranışa" gereksinim duyarak neyi kastettiğinizi anlatabilir misiniz? Bileşenleri farklı uygulamalar arasında paylaşabilirsiniz ve bileşenleriniz uygulamalarınızın davranışını sağlamalıdır. Redux esas olarak durum * verilerini yönetmek içindir *. En az bir kod örneği verebilseydiniz ve daha spesifik bir özellik kazanırsanız, şu anda gerçekten yararlı olacaktır, çünkü şu an yapmaya çalıştığınız şey tam olarak açık değildir. –

+0

Henüz kodum yok, yapıyorum ve doğru şekilde yaptığımdan emin olmak istiyorum. Örneğin. APP2'de, kendi eylemleriyle "kendi" halinin olduğunu söyleyelim. APP1'de de aynı eylemleri vb. Yapıyorum. Yani sadece "aynı" mağazayı hazırlıyorum? –

+0

Yerel depolama veya redis kullanmanın, uygulamanızın1 performanslarını etkileyeceğini düşünüyorum. Diğer APP gerektiren her eylemde birkaç ms gecikme katacak. Uygulama 1 ve 2 arasındaki senkronizasyon, milisaniye süresinin kritik olmaması durumunda, tool2 durumunun bir kopyasının tool1 durumunda saklanmasını ve her bir X saniyede belirli bir tool1 eylemiyle güncellenmesini öneririm. Bu şekilde, eylemi yürütmeyi geciktirmezsiniz ve tool2 durumunun hangi sürümünün tool1 tarafından kullanıldığına dair belirli bir noktada net bir görüşe sahip olursunuz. – Harijoe

cevap

1

O kadar zor .... ben localStorage veya Redis vb APP2 alt bileşeni durumunu saklayabilir tahmin .. ve sonra onunla APP1 hidrat olabilir .. ama.

Paylaşılan Kapsayıcı bileşenleri sağlayarak bunu yapabilirsiniz (connect() tepkisiyle redux çağrılarak sarılır), paylaşılan Redüktörler, paylaşılan Eylemler (Action Creators ile) ve paylaşılan Middlewares. Daha sonra, Kapsayıcı bileşenleri kullanın, Reducers'ı yerleştirin ve ana uygulamanıza Middlewares uygulayın.

Bu bir demo uygulama paylaşılan müstakil bileşenleri içerir.
https://github.com/kuy/popover-profile

Timeline App: Online Demo
İleti Uygulama: Online Demo

sayfalarında kullanıcı adı hover edin. Açılır pencere profilleri alacaksınız.

Bu iki uygulama, mouseover adlarında Gmail veya SoundCloud'un profil araç ipucu gibi bir Popover Profili bileşenini paylaşır. Sadece paylaşım durumu yok, bu bileşen (sahte) API sunucusu ile iletişim kurar. Bu, redux-saga kullanarak paylaşılan bir Middleware tarafından yapılabilir.

İlgili konular