Привет, у меня есть родительский компонент с двумя дочерними компонентами, как показано ниже. У Child1 есть перетаскиваемый элемент div, который при перетаскивании выдает значение родительскому компоненту, который затем я должен передать в Child2 и использовать, но перед его использованием в Child2 I нужно сделать десятки вычислений.
const Parent = () => {
const [dragValue, setDragValue] = useState(0);
const dragHanlder = (dragVal) => {
setDragValue(dragVal);
};
return (
<Child1 mouseDrag={dragHanlder} />
<Child2 dragValue={dragValue}/>
);
}
class Child2 extends React.Component {
state = {
afterCalculationsVal: 0
};
componentDidUpdate = () => {
const { dragValue } = this.props;
const someFinalval = val //this val takes dragValue applies checks, calculations and conditions and finally gives out some value
this.setState({afterCalculationsVal: someFinalval });
};
render() {
const { afterCalculationsVal } = this.state;
return (
<Child3 afterCalculationsVal={afterCalculationsVal} >
);
}
}
Проблема в том, что у меня проблема с максимальной глубиной, потому что я устанавливаю состояние для непрерывного перетаскивания. Есть ли способ преодолеть это. Я не могу использовать "dragValue", входящее в реквизиты в Child2 напрямую, вычисления значения реквизита являются обязательными, и после этого мне нужно установить состояние.