2016-10-21 23 views
5

Bir tepki/redux web uygulaması yapıyorum ve hiçbir zaman değişmeyen statik yapılandırma bilgilerini nerede bulacağımı merak ediyorum (webapp zaten çalışıyorken).Statik yapılandırmayı redux'da mı saklamalıyım?

This is the data in question

Bu bilgiler örneğin, uygulamanın farklı yerlerinde kullanılır: Orada ana dizinin dışına herhangi bir öğeyi seçmek edebiliyoruz şeklidir ve bu sayede başka seçme alanını doldurma tarafından seçilen dizinin özellikleri:

<select>Choose an exchange</select> 
<select>Choose a market (that is available in the above exchange)</select> 

Bu (ilk select seçilir dayalı state.markets setleri) bazı redüktör mantığına güzel elverişli olur, ama ağaçta diğer durumuna göre filtreleme gerektiğini veya sadece verileri indirgeyici içindeki bir kapağa yükleyin (g devlet ağacı dışında ilgisiz)? Yoksa bu hiç de bir durum değil (ve kapsayıcıyı bu dosyaya yükleyip tek bir state.exchange durum desteğine göre filtrelemeli)? Form sonucu doldurulur

gibi ele alınacaktır: (? sanırım)

{exchange: 'a', market: 'b'} 

Yani bu da devlet olacağı

+0

Gönderdiğiniz bu veriler hiçbir zaman değişmezse, onu sahip olduğunuz gibi bir modül olarak bırakırım. Daha sonra bu alanlardan herhangi birini okumak istediğiniz her yere aktarabilirsiniz. – azium

cevap

0

redux Benim anlayışım sadece depolamak gerektiğidir durum bilgisi numaralı, yani değişebilir. Tanım gereği statik veriler devlete sahip değildir ve bu nedenle izlenmesi gerekmez. Sonuç olarak, genellikle bu tür statik nesneleri depoladığım /common/app-const.js dosyam var. Durumunuzda, tüm statik verileri exchange.js'dan, ihtiyacınız olan her yerde import ortak bir dosyaya taşıyabilirsiniz.

Ben onun biraz daha basit ancak basitçe react-redux aracılığıyla connect() yoluyla, veri enjekte etmek iyi olurdu, ancak yaklaşımınızı anlıyorum

export default { 
    markets: [ 
      { pair: ['USD', 'BTC'], minimalOrder: { amount: 0.01, unit: 'asset' } }, 
      { pair: ['RUR', 'BTC'], minimalOrder: { amount: 0.01, unit: 'asset' } }, 
      { pair: ['EUR', 'BTC'], minimalOrder: { amount: 0.01, unit: 'asset' } }, 
      ... 
} 

/common/app-const.js sadece import için gerekli olan bir dosyadaki statik verileri.

+0

Son paragrafınızdaki bir sözcük, daha fazla 'düzensiz' olsa da, statik veri dosyasına içe aktarma ifadesi, bu dosyaya çok bağımlı bir bağımlılık oluşturur. Redux, bu bağlamda bir bağımlılık enjeksiyon şekli sunar. – Patrick

İlgili konular