setState запускается дважды при первом вызове - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть переменная состояния с объектом JSON, содержащим массив.

 const [results,setResults]=useState({
    series: [
        {
            name: 'Result',
            data: [0]
        } 
    ]
  })

И у меня есть функция, которая получает один datapoint в качестве параметра.

function getResult(datapoint){

Теперь я хочу добавить этот datapoint к массиву data в переменной состояния. Я делаю это следующим образом

function getResult(datapoint){
    setResults(prevState=>{
       return{...prevState,...prevState.series[0].data.push(datapoint)}
    })
    //some code
}

Функция вызывается после ответа сервера

Когда getResult() вызывается впервые, запускается setResults() дважды. Когда getResult() вызывается еще раз, все снова работает нормально. Есть какие-то решения или вы знаете проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...