Próbuję Wdrażać pewne rzeczy z React, Relay i GraphQL, ale miałem do czynienia z Problemem, którego nie rozumiem i gdzie nie mogę znaleźć rozwiązania.RelayContainer: oczekiwany prop `% s` do dostarczenia do`% s`, ale '+' ma wartość `undefined`. Przekaż jawne `null` jeśli jest to zamierzone
Najpierw stworzyłem RootQuery i miałem jeden komponent, który działał dobrze. Teraz stworzyłem Sub Komponent z własnym fragmentem an i dostać ten błąd:
relay.js:1799 Warning: RelayContainer: Expected prop
room
to be supplied toRoomList
, but gotundefined
. Pass an explicitnull
if this is intentional.
W Networkrequest widzę wszystkie wymagane dane.
Oto kod:
Zapytanie głównej
const RoomQuery = {
room: (Component) => Relay.QL`
query {
room {
${Component.getFragment('room')},
}
}
`
};
Route
<Route name="rooms" path="/rooms" component={Rooms} onEnter={requireAuth} queries={RoomQuery}/>
Pojemnik Relay
export default Relay.createContainer(Rooms, {
fragments: {
room:() => Relay.QL`
fragment on Room {
title,
description,
publicKeys,
takenKeys,
image_filename,
subRoomsCount,
owner {
fullName
},
${RoomList.getFragment('room')},
}
`,
}
});
Relay Sub Pojemnik
export default Relay.createContainer(RoomList, {
fragments: {
room:() => Relay.QL`
fragment on Room {
subRooms{
title,
description,
publicKeys,
takenKeys,
image_filename,
availableKeys,
owner {
fullName
},
subRoomsCount
}
}
`,
}
});
W moim React Komponent Używam tego Sub React Komponent tak:
<RoomList></RoomList>
nie wiem, czy ja coś źle zrozumieć, ale ja thougt że przekaźnik będzie załadować dane i wypełnić go w this.props , ale istnieje tylko obiekt przekaźnikowy.
Dzięki za pomoc :)
Pozdrowienia
Ronny Gerndt