В запросе Apollo неверные данные из кэша в моем приложении реакции.
Если я установлю для fetchPolicy запроса значение «только для сети», все будет работать правильно.
Так что я думаю, что это. кэш проблема
1006 * Я работал изо всех сил стараются решить эту проблему и увидеть статьи о APOLLO кэше, но я до сих пор не может решить проблему 1008 * Вот мои результаты после запроса: *.1009 *
параметр memberId равен нулю (результат верен)
[
{
"id": 87,
"totalQuantity": 12,
"Orders": [
{
"id": 1,
"quantity": 11,
"Member": {
"id": 1,
"name": "A"
}
},
{
"id": 28,
"quantity": 1,
"Member": {
"id": 9,
"name": "B"
}
}
]
},
{
"id": 88,
"totalQuantity": 1,
"Orders": [
{
"id": 2,
"quantity": 1,
"Member": {
"id": 1,
"name": "A"
}
}
]
}
]
параметр memberId равен 9 (результат верен)
[
{
"id": 87,
"totalQuantity": 1,
"Orders": [
{
"id": 28,
"quantity": 1,
"Member": {
"id": 9,
"name": "B"
}
}
]
}
]
параметр memberId равен 1 (результат верен)
[
{
"id": 87,
"totalQuantity": 11,
"Orders": [
{
"id": 1,
"quantity": 11,
"Member": {
"id": 1,
"name": "A"
}
}
]
},
{
"id": 88,
"totalQuantity": 1,
"Orders": [
{
"id": 2,
"quantity": 1,
"Member": {
"id": 1,
"name": "A"
}
}
]
}
]
но когда я возвращаюсь к параметру null, результат неправильный
[
{
"id": 87,
"totalQuantity": 11,
"Orders": [
{
"id": 1,
"quantity": 11,
"Member": {
"id": 1,
"name": "A"
}
}
]
},
{
"id": 88,
"totalQuantity": 1,
"Orders": [
{
"id": 2,
"quantity": 1,
"Member": {
"id": 1,
"name": "A"
}
}
]
}
]
Член B (id = 9) исчезает ..
и я возвращаюсьдля параметра 9 (результат неверный)
[
{
"id": 87,
"totalQuantity": 11,
"Orders": [
{
"id": 1,
"quantity": 11,
"Member": {
"id": 1,
"name": "A"
}
}
]
}
]
Я получаю данные члена A вместо члена B
Может ли кто-нибудь мне помочь?Спасибо
Моя клиентская конфигурация (кэш-память InMemoryCache)
const client = new ApolloClient({
link: ApolloLink.from([
httpLink,
]),
cache,
dataIdFromObject: o => ${o.id}${o.__typename},
});
Я использую queryHook, чтобы обернуть свой компонент
const queryHook = graphql(FETCH_ORDER_GROUP_SHIPMENT_LIST, {
options: ownProps => ({
variables: {
memberId: ownProps.options.memberId || null,
},
}),
props: ({
data: {
orderGroupShipmentList,
},
}) => ({
orderGroupShipmentList: orderGroupShipmentList || [],
});
Также я использую тег Query (другоеdata), чтобы обернуть мой контент
, а его параметр также memberId.
структура, подобная этой
<Query
variables={{ memberId: options.memberId || null }}
query={FETCH_MEMBER_LIST_QUERY}>
content that use orderGroupShipmentList and memberList
</Query>
Я не знаю, достаточно ли это конкретно
Дайте мне знать, если это недостаточно конкретно
Спасибо