Meteor 1.3'ten ES6'ya bazı kodların değiştirilmesi + React sözdizimi. Bileşen Meteor verilerini almayı gerektirir, bu yüzden getMeteorData() öğesini değiştirmek için bir createComponent kullanıyorum. Sorun, createContainer bileşeni tarafından erişilemeyen eski getMeteorData bileşeninin kullanıldığı durumdur.Çocuk bileşeninden durum gerektiren Meteor Verileri nasıl kullanılır?
Eski kod: o durumuna erişmek için çalışıyor beri
Component = React.createClass({
mixins: [ReactMeteorData],
getMeteorData() {
var mo = this.state.currentMonth;
var start = newDate(moment(mo).startOf('month'));
return {
events: collections.events.find({
$or: qwry,
startDate: { $gte: start },
endDate: { $lte: end }
}).fetch(),
}
},
render() {
...
}
});
Yeni Kod Böylece Uzak
class Component = React.Component {
constructor(props) {
super(props);
}
render() {
...
}
}
export default createContainer(({params}) => {
var mo = this.state.currentMonth;
var start = newDate(moment(mo).startOf('month'));
return {
events: collections.events.find({
$or: qwry,
startDate: { $gte: start },
endDate: { $lte: end }
}).fetch(),
}
}, Component);
hatasını alma "tanımsız bir currentMonth alınamıyor". Baska öneri?
... ebeveyn çocuklarının durumunu tutan ve sahne olarak aşağı geçer, tersi olmalı, ebeveyne çocuktan göndermek için çalışın birden çok bileşenden üzerinde doküman tepki: yılında Tepki veri sahibi tarafından sahip olunan bileşen sahibine akar: https://facebook.github.io/react/docs/multiple-components.html – JordanHendrix
evet, anlıyorum, ama dönüştürmek için en iyi yolu anlamaya çalışıyorum Daha önce ele alınış şeklini temel alan yeni biçime. Sadece mevcut kodda "mo" değişkeni alma şeklini tamamen yeniden işlemem gerekirse mi yoksa daha önce bileşeninin getMeteorData'da kullanılan bileşenleri için bir çeşit geçici çözüm var mı diye anlamaya çalışıyorum. – ebrillhart
niçin tepkiyi.Component'in içine getMeteorData işlevini koymuyorsunuz? – JordanHendrix