Umschalten einiger Code in Meteor 1.3 zu ES6 + React Syntax. Für die Komponente müssen Meteor-Daten abgerufen werden. Daher verwende ich createComponent, um getMeteorData() zu ersetzen. Das Problem ist, dass der alte getMeteorData-Status aus der Komponente stammt, auf die die createContainer-Komponente nicht zugreift.Wie wird mit Meteor Data verfahren, die einen Status von einer untergeordneten Komponente erfordert?
Alter Code:
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() {
...
}
});
Neuer Code So Far
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);
gibt es die Fehlermeldung "kann nicht currentMonth undefinierten bekommen", da es versucht, Zustand zugreifen. Irgendwelche Vorschläge?
Versuchen Sie es nicht von Kind zu Eltern zu schicken, sollte es anders sein, um, Eltern, die den Zustand der Kinder halten und übergeben sie als Requisiten auf ... reagiert docs auf mehreren Komponenten: In React , Daten fließt vom Eigentümer zu Besitz-Komponente durch Requisiten: https://facebook.github.io/react/docs/multiple-components.html – JordanHendrix
Ja, das ist mir klar, aber ich versuche herauszufinden, die beste Art zu konvertieren zu dem neuen Format, basierend auf der Art, wie es zuvor gehandhabt wurde. Ich versuche nur herauszufinden, ob ich die Art und Weise, wie wir die Variable "mo" im aktuellen Code bekommen, komplett überarbeiten muss oder ob es eine Art Workaround für Komponenten gibt, die zuvor den Status der Komponente in getMeteorData verwendet haben. – ebrillhart
Warum können Sie nicht einfach die Funktion getMeteorData in die react.Component einfügen? das ist in Ordnung – JordanHendrix