React Jest — как протестировать useRef (тестовый api запускается только при текущем значении != предыдущее значение)

#reactjs #react-hooks #jestjs

#реагирует на #реагируют-крючки #jestjs

Вопрос:

Код выглядит так: при нажатии кнопки «Отправить» вызов api запускается только при изменении входных значений, в противном случае api не будет вызван:

 const [color, setColor] = useState(''); const [price, setPrice] = useState(''); const [amount, setAmount] = useState('');  const getPreviousData = (data) =gt; {  const ref = useRef();  useEffect(() =gt; {  ref.current = data;  });  return ref.current; };  const previousData = getPreviousData({  color,  price,  amount });   const checkIfDataChanged = () =gt; {  if(previousData.color !== color ||   previousData.price !== price ||   previousData.amount !== amount) {  return true;  }   return false; };   const handleSubmitButton = (event) =gt; {  event.preventDefault();   //if the values are changed, then call api  if (checkIfDataChanged()) {  dispatch(...)  } };  return (  ...  lt;Button  text="Submit"  handleClick={handleSubmitButton}  /gt; );  

Как издеваться над этим методом checkIfDataChanged() и useRef? Спасибо.

Комментарии:

1. Вам нужно рассказать нам, как вы изменили эти состояния. В противном случае значение всегда будет пустой строкой ''