REACT: При одновременном использовании функциональных и классовых компонентов хук useState стирает state у классового компонента

Я пытаюсь стилизовать элемент кнопки и изменить состояние функционального компонента во время нажатия на него. Ожидаемое поведение: Элемент должен выделиться красным цветом и значение money должно измениться. В реальности же после нажатия на элемент он не выделяется, но значение money меняется. Это всё в независимости от расположения хука setMoney относительно setState класса. Я знаю, что setState асинхронный и пытался делать повторные рендеры, ничего не работало. useMoney каким-то образом влияет на состояние компонента класса. Я пробовал писать через callback'и в setState, но после рендера состояние все равно не меняется. Что можно предпринять в данном случае?

function App() {

    const [drinks, setDrinks] = useState();
    const [money, setMoney] = useState(0);
    const [coinCount1, setCoinCount1] = useState();
    const [coinCount2, setCoinCount2] = useState();
    const [coinCount5, setCoinCount5] = useState();
    const [coinCount10, setCoinCount10] = useState();

    useEffect(() => {
        translateDrinksData();
    }, []);

    class DrinkButton extends React.Component {

        constructor(props) {
            super(props);
            this.state = { isActive: false, lightElement: {} };
            this.press = this.press.bind(this);
        }

        press() {
            if (money >= this.props.drinkCost) {
                let [className, styleName] = (this.state.isActive === false) ? [true, { "boxShadow": "0px 0px 7px #F86868" }] : [false, {}];
                this.setState({ isActive: className, lightElement: styleName });
                setMoney(money - this.props.cost);
            }
        }

        render() {
            let styleName = this.state.lightElement;
            return <button onClick={this.press} className='drinkItem' style={styleName} id={this.props.drinkId}>
                <img className="drinkImg" src={this.props.drinkPath}></img><br />
                {this.props.drinkName}<br />
                Цена: {this.props.drinkCost}<br />
                Кол-во: {this.props.drinkQuantity}<br />
            </button>
        }
    }


    const contents = drinks === undefined
        ? <p>Пожалуйста, обновите страницу после запуска приложения</p>
        : <div id="mainMenu">
            <div id="drinkTable">
                {drinks.map(drink => <DrinkButton id={drink.id} key={drink.id} drinkId={drink.id} drinkPath={drink.path} drinkName={drink.name} drinkCost={drink.cost} drinkQuantity={ drink.quantity } />)}
            </div>
            <div id="buyMenu">
                <p id="moneyCounter" className="kaisei-opti-regular">{money} р</p>
          </div>;

    async function translateDrinksData() {
        const response = await fetch('drink')
        const data = await response.json()
        setDrinks(data);
    }
}

export default App;```

Ответы (0 шт):