Но это также есть и в PHP фреймворках описанных выше.Есть, но это работает на сервере, а Реакт на клиенте. Это принципиально разные сценарии использования сайта.
Не могу понять почему ошибку выдает.Потому что вызываете setState в конструкторе, по сути.
нужно запустить через componentDidMount но это тоже не сработалоА должно было. Но поскольку код вы не показали, в чём там был подвох нам неизвестно. Скорее всего, вы просто добавили вызов в componentDidMount, но не убрали его из конструктора.
import { useEffect } from "react";
import { useLocation } from "react-router-dom";
export default function ScrollToTop() {
const { pathname } = useLocation();
useEffect(() => {
window.scrollTo(0, 0);
}, [pathname]);
return null;
}
componentDidMount() {
setTimeout(
() => {
if (typeof this.elementRef !== 'undefined') {
console.log(this.elementRef.current.offsetLeft);
}
},
5000
)
}
<button type="button" value="+">+</button>{el.quantity}<button type="button" value="-">-</button>
<Route exact path="/goods" component={ Goods } />
<Route exact path="/goods/new" component={ NewGood } />
<Route path="/goods/:id" component={ Details } />
Я понимаю, что нельзя передать объект Date.Передать можно, нельзя отрендерить. Соответственно, и к строке приводить нужно там, где рендерите.
componentDidMount() {
console.log(return this._imgEl.getBoundingClientRect());
}