1
我正在使用Relay和react-router-relay
,並試圖組合多個Relay容器。內部容器需要一個查詢片段變量,必須通過其父容器從路由器向下傳遞。它沒有得到這個變量。我如何撰寫含變量的查詢片段
下面的代碼的外觀:
// A "viewer":
const UserQueries = { user:() => Relay.QL`query { user }` };
// A route to compose a message:
<Route
path='/compose/:id'
component={ ComposeContainer }
queries={ UserQueries }
/>
// A container:
const ComposeContainer = Relay.createContainer(
Compose,
{
initialVariables: {
id: null
},
fragments: {
user:() => Relay.QL`
fragment on User {
${ BodyContainer.getFragment('user') }
// other fragments
}
`
}
}
);
// And the composed container:
const BodyContainer = React.createContainer(
Body,
{
initialVariables: {
id: null
},
fragments: {
user:() => Relay.QL`
fragment on User {
draft(id: $id) {
// fields
}
}
`
}
}
);
內BodyContainer
場草案從來沒有得到$id
從路由PARAM。 RelayContainer.getFragment()
的簽名似乎可以讓你傳遞params和變量,但我不確定應該如何使用它。
謝謝!真的很感激它 –