React Native не отображается при изменении состояния для родной диаграммы victory

#javascript #react-native #victory-native

#javascript #react-native #victory-native

Вопрос:

Я пытаюсь обновить диаграмму победы при нажатии кнопки, используя состояние из хука реакции следующим образом:

 const [weightData, setData] = useState([]);
const [date, setDate] = useState(new Date());
const [weight, setWeight] = useState(150);
  

Где диаграмма принимает весовые данные

 <VictoryLine
   style={{
     data: { stroke: "red" },
     parent: { border: "1px solid #ccc" },
   }}
   data={weightData}
/>
  

И эти данные обновляются при нажатии кнопки следующим образом:

 const addWeight = () => {
  setData(prevData => {
    return [{x: date, y: weight}, ...prevData];
  });
}
  
 <Button
  color="red"
  onPress={addWeight}
  title="Add"
/>
  

Моя проблема с этим методом заключается в том, что рендеринг, похоже, отстает примерно на 3 нажатия кнопок. Я чувствую, что это как-то связано с обновлением асинхронного состояния, однако ни одно из исправлений, которые я пробовал, не сработало. Проверка с помощью инструментов разработчика показывает, что состояние обновляется с правильными объектами каждый раз, однако график отстает на 3 обновления. Любые предложения о том, как заставить реагировать на нажатие кнопки, будут с благодарностью приняты.