Ich versuche SetState() zu einem Abfrageergebnis habe ich von GraphQL, aber ich habe Schwierigkeiten herauszufinden, wie dies zu tun, weil es immer geladen wird, oder es ist nur von Requisiten benutzt. ich zuerst den ZustandWie setState() in React/Apollo mit graphQL
constructor (props) {
super(props);
this.state = { data: [] };
Dann habe ich diese Abfrage
const AllParams = gql`
query AllParamsQuery {
params {
id,
param,
input
}
}`
Und wenn es darum geht zurück kann ich darauf zugreifen mit this.props.AllParamsQuery.params
Wie und wann sollte ichthis.setState({ data: this.props.AllParamsQuery.params })
ohne es zurück{data: undefined}
?
Ich habe nicht einen Weg, um es zu warten, während es undefined
AKA loading: true
dann setState
gefunden. Ich habe versucht componentDidMount()
und componentWillReceiveProps()
einschließlich einer async function(){...await...}
aber war nicht erfolgreich, ich mache es wahrscheinlich falsch. Kann jemand das richtig machen oder ein Beispiel haben?
EDIT + Antwort: Sie sollten nicht setzen und lassen Sie es in Requisiten. Überprüfen Sie diesen Link aus: „Warum Requisiten Einstellung als Staat in react.js ist Gotteslästerung“ http://johnnyji.me/react/2015/06/26/why-setting-props-as-state-in-react-is-blasphemy.html Es gibt mehr zu dem Problem Requisiten zu aktualisieren, aber einige große Beispiele können an dieser App Schaffung Tutorial zu finden: https://www.howtographql.com/react-apollo/8-subscriptions/
einverstanden war, fand ich heraus, dass es keinen Sinn macht Zustand zu verwenden, und es in Requisiten zu verlassen! –
das ist der Grund: Hier ist die "Warum Requisiten als Zustand in react.js Blasphemie ist" http://johnnyji.me/react/2015/06/26/warum-setting-props-as-state-in- react-is-blasphemy.html –
Cool, Apollo macht die Sache super einfach! –