#javascript #arrays #reactjs #graphql #amplify
Вопрос:
Я пытаюсь добавить массив в схему GraphQL. В настоящее время это выглядит так:
type Play { winRatio: [Float] }
Цель коэффициента выигрыша — сохранить историю всех коэффициентов выигрыша. Например, после 3 игр массив winRatio должен выглядеть следующим образом:
winRatio: [1, .5, .66]
В настоящее время, когда я изменяю массив winRatio, история не сохраняется; состояние обновляется до последнего значения. Вот как это выглядит:
await API.graphql({ query: updatePlay, variables: { input: { winRatio: [winRatio, (await wins) / (await totalPlays)], // update the player's win ratio }, }, })
Однако, когда я запрашиваю данные winRatio в graphql, я получаю массив ТОЛЬКО с последним значением:
winRatio:[.66]
Я чувствую, что мне нужен оператор распространения, но я не уверен, почему мое текущее решение не решает мою проблему.
Ответ №1:
Да, вы правы в том, что вам нужен оператор распространения.
winRatio: [...winRatio, (await wins) / (await totalPlays)]