Ich versuche, Datensätze von Back-End-Graphql-Dienst abzurufen und rendern sie mit Array.map-Funktion. Leider bekomme ich vor dem Laden einen Fehler, weil sie undefiniert sind. Ich habe versucht, Standardrequisiten auf der Komponente zu setzen, aber es hat nicht funktioniert. Muss ich überprüfen, ob alles geladen ist oder gibt es eine spezielle Möglichkeit, Standardwerte in diese Requisiten zu injizieren? Mein Code sieht jetzt so ausReagieren Komponente Standardrequisiten mit graphql
import React from 'react';
import { graphql } from 'react-apollo';
import { fetchTasks } from '../../../graphql/tasks';
import { Dashboard } from '../components/Dashboard';
const propTypes = {
data: React.PropTypes.shape({
tasks: React.PropTypes.array
})
};
const defaultProps = {
data: {
tasks: []
}
};
class DashboardContainer extends React.Component {
render() {
const titles = this.props.data.tasks.map(task => task.title);
return(
<Dashboard
titles={titles}
/>
);
}
}
DashboardContainer.propTypes = propTypes;
DashboardContainer.defaultProps = defaultProps;
export default graphql(fetchTasks)(DashboardContainer);
Ja, Sie müssen überprüfen, ob Ihr prop mit Wert aktualisiert wird Sie benötigt. Sie müssen also this.props.data.tasks.length überprüfen und wenn es existiert, dann mappen Sie –