Когда передаю в new SpeechSynthesisUtterance() просто строку - озвучивает верно. Когда передаю переменную - текущее значение из состояния - озвучивает с опозданием: сначала "0" - как значение по умолчанию, затем - предыдущую нажатую клавишу. Подскажите, пожалуйста, кто знает, заступорилась на одном месте уже давно... Наверняка что-то элементарное...
function App() {
const [counts, setCounts] = React.useState('0'); // текущее значение
....
const speak = () => {
const unterance = new SpeechSynthesisUtterance(counts);
speechSynthesis.speak(unterance);
}; // обработчик голосового сопровождения
return(
....
<Numbers data={counts} onClick={setCounts} onClickSpeak={speak}/>
<Box display={'flex'}>
<CountButton data={counts} expression={'+'} onClick={applyExpression} onClickSpeak={speak}/>
<CountButton data={counts} expression={'-'} onClick={applyExpression} onClickSpeak={speak}/>
<CountButton data={counts} expression={'*'} onClick={applyExpression} onClickSpeak={speak}/>
<CountButton data={counts} expression={'/'} onClick={applyExpression} onClickSpeak={speak}/>
</Box>
<ResultButton onClick={finalResult} onClickSpeak={speak}/>
)
function CountButton(props) { // компонент кнопки
.....
return (
<Button
onClick={() => {
props.onClick(props.data + props.expression);
props.onClickSpeak(props.data);
}});
....
};