Мое приложение выполняет глубокий запрос для извлечения объекта path
по идентификатору и передает результаты через различные реагирующие реквизиты.
Среди всего прочего у path
есть список steps
. Мутация может добавить дополнительный step
в список path.steps
.
Я делаю мутацию, а затем обновляю кеш. После этого я могу проверить кэш InMemoryCache и убедиться, что этот элемент действительно был добавлен. Я не получаю предупреждений. Вот так выглядит соответствующий фрагмент
const { steps } = cache.readFragment({
id: `Path:${pathId}`,
fragment: PathLogFragment,
fragmentName: 'PathLogFragment'
})
cache.writeFragment({
id: `Path:${pathId}`,
fragment: PathLogFragment,
fragmentName: 'PathLogFragment',
data: { __typename: 'Path', steps: [...steps, addStep] }
})
Теперь у меня есть один компонент, который потребляет шаги и не обновляется.
Это довольно простой, с steps.map(s => <li>step</li>)
.
Это называется так: {path.steps && <Steps steps={path.steps} />}
Существуют реквизиты рендера, участвующие в получении и перемещении path
, и в пути есть PureComponents, но вызовов shouldComponentUpdate
нет.
Я в растерянности. Что еще я могу проверить?