Çok fazla tepki göstermekte ve çözemediğim bir sorunla karşılaşıyorum. Bu kavramı henüz tam olarak anlamadığım olabilir, ama işte burada: Oh ve bazı şeylerin en iyi yol olmadığını biliyorum, ama tepki vermek ve javascript için yeniyim (ki ben ' staj yapmak için m).Nesnenin birden çok bileşeni
Facebook react tutorial'dan bir değişiklik ile çalışıyorum. Şu an sahip olduğum şey: 2d nesnesinin bir dizisi. Bu, .map() ile çalışır.
{
"id": 1,
"name": "Exercise",
"timeStamp": "2016-03-22T10:08:20.3105358+00:00",
"data": {"name": "Back training", "video": "v=yoimdckms"}
}
diğeri şu şekilde görünecektir:
{
"id": 1,
"name": "appointment",
"data": {"appointmentsubject": "have dinner", "label": "green"}
}
Bu kadar sorun şudur: sadece component.name ve component.timeStamp almak, bunun bir nesne şuna benzer iyi.
var ComponentList = React.createClass({ //this works
render: function() {
var componentNodes = this.props.data.map(function(component, index) {
return (
<Component name={component.name} timeStamp={component.timestamp} key={index} >
</Component>
);
});
return (
<div className="componentList">
{componentNodes}
</div>
);
}
});
Ama veri nesnesine alınca tüm nesneleri bir appointmentSubject özelliği vardır ve diğerleri hiçbir görüntü özelliği vardır ve tanımsız bir çıkış değeri elde edilemediğinden, belli ki, başarısız olur.
<Component //this doesn't work
name={component.name}
timeStamp={component.timeStamp}
video={component.data.video}
key={index}>
</Component>
Benim sorum şu, burada nasıl giderim. (Henüz kodunda çalıştı olanlar) Benim çözümler şunlardır:, zaman damgası ile, bu daha önce şimdi ne olacak sonra ExerciseComponent, Atama vb (bu bileşenlerin sıralamayı gerektirecektir:
- bir isim başına bileşen yapın Bileşenler, duruma yüklenir.)
- Bileşen, tüm bileşenlerin adı ve zaman damgası gibi olduğu alanları ve isme bağlı olarak, özellikleri ekleyin.
Gerçekten bilmek istediklerim: yaşayabileceğimi düşündüğüm çözümler. Yoksa bana daha iyi yardımcı olacak başka bir çözüm var mı?
Oh ve ben flux veya redux veya herhangi bir şey kullanmıyorum, çünkü atm olabildiğince minimal olmaya çalışıyorum çünkü çok hızlı kafa karıştırmaya eğilimlidir.
Ama video alan varsa bu sadece kontrol wouldn't ve sorun olduğu takdirde bileşeni ve aksi wouldn't show o?Bu randevu olanı göstermezdi. – yPanic