Passaggio di un po 'di codice in Meteor 1.3 a ES6 + Sintassi di reazione. Il componente richiede l'acquisizione di dati Meteor, quindi sto utilizzando un componente create per sostituire getMeteorData(). Il problema è che il vecchio stato getMeteorData utilizzato dal componente, a cui non si accede dal componente createContainer.Come gestire Meteor Data che richiede lo stato dal componente figlio?
vecchio codice:
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() {
...
}
});
Nuovo Codice finora
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);
ottenere l'errore "non può ottenere currentMonth di indefinito," dal momento che sta cercando di accedere a Stato. Eventuali suggerimenti?
cercare di non inviare da bambino a genitore, dovrebbe essere il contrario, madre detiene lo stato dei bambini e lo passa verso il basso come oggetti di scena ... reagiscono documenti su più componenti: In React , i flussi di dati dal proprietario al componente di proprietà attraverso gli oggetti di scena: https://facebook.github.io/react/docs/multiple-components.html – JordanHendrix
sì, me ne rendo conto, ma sto cercando di capire il modo migliore per convertire fino al nuovo formato basato sul modo in cui veniva gestito in precedenza. Sto solo cercando di capire se ho bisogno di rielaborare completamente il modo in cui stiamo ottenendo la variabile "mo" nel codice corrente o se c'è una sorta di soluzione per i componenti che in precedenza utilizzavano lo stato del componente in getMeteorData. – ebrillhart
perché non puoi semplicemente inserire la funzione getMeteorData all'interno del react.Component? va bene per fare – JordanHendrix