Мой RefetchContainer выдает запрос с одинаковыми аргументами каждый раз, но реквизиты, поступающие в компонент refetchcontainer, не обновляются.
В этом посте объясняется, почему необходимо использовать переменные для вашего фрагмента при использовании RefetchContainers https://github.com/facebook/relay/issues/2244
Но нужно ли передавать переменные с разными значениями каждый раз, когда мы вызываем refetch ()?Как я могу получить новые значения в мои реквизиты?
Вот мой createRefetchContainer:
export default createRefetchContainer(
DashboardRefetchContainer,
{
dashboardData: graphql`
fragment DashboardRefetchContainer_dashboardData on Query @argumentDefinitions(
idFund: {type: "String!"},
)
{
...DashboardTopMetrics_lastIntraDay
...DashboardTopMetrics_last12Month
specsFundByIdFund(idFund: $idFund) {
lastOne: fundsByIdFund(orderBy: [CREATED_AT_DESC] first:1) {
nodes {
...Risk_expo
...Risk_vars
betaOneYear
drawdown
exposureNet
cash
turnover
benchmark
volatility1Y
navY
nbOrders
}
}
}
specsFundByIdFund(idFund: $idFund) {
...Risk_tresh
}
}
`,
dashboardGraphData: graphql`
fragment DashboardRefetchContainer_dashboardGraphData on Query @argumentDefinitions(
idFund: {type: "String!"},
fundCond: {type: "FundCondition!"},
){
// more items...
allFunds(first:7 orderBy: [CREATED_AT_DESC] condition: $fundCond) {
...LineFragCount_item
...LineFragPerc_item
...LineFragWatch_item
}
todayAssetAllPortfolio: todayAssetAllPortfolio(idFund: $idFund) {
nodes {
name
priceEur
expoEur
valueEur
asset {
id
position
currency
perc
underlyingByUnderlying {
tickerBbg
perfDay
perfWtd
perfYtd
}
}
}
}
}
`
},
graphql`
query DashboardRefetchContainerRefetchQuery($idFund: String!, $fundCond: FundCondition!) {
...DashboardRefetchContainer_dashboardData @arguments(idFund: $idFund)
...DashboardRefetchContainer_dashboardGraphData @arguments(idFund: $idFund, fundCond: $fundCond)
}
`
)
А вот запрос QueryRenderer graphql:
query DashboardMainChartsQuery($idFund: String!, $fundCond: FundCondition!) {
...DashboardRefetchContainer_dashboardData @arguments(idFund: $idFund)
...DashboardRefetchContainer_dashboardGraphData @arguments(idFund: $idFund, fundCond: $fundCond)
}