У меня проблема с установкой правильного идентификатора для моего state.id. Когда компонент появляется впервые, я попытался повлиять на значение идеи в методе componentWillMount, но у меня появляется ошибка,
class Contrat extends Component {
state = {
idContrat: 4000003,
};
componentWillMount() {
const urlString = window.location.href;
const url = new URL(urlString);
const contratId = url.searchParams.get("contratId");
if (contratId !== null && contratId.length !== 0) {
this.props.getDetailsContrat(contratId);
}
this.setState({idContrat: contratId});
}
render(){
return <div>{this.state.idContrat}</div>;
}
}
Тогда я попробовал это:
class Contrat extends Component {
state = {
idContrat: new URL(window.location.href).searchParams.get("contratId");,
};
componentWillMount() {
const urlString = window.location.href;
const url = new URL(urlString);
const contratId = url.searchParams.get("contratId");
if (contratId !== null && contratId.length !== 0) {
this.props.getDetailsContrat(contratId);
}
}
render(){
return <div>{this.state.idContrat}</div>;
}
}
Но я снова получаю сообщение об ошибке, указывающее, что URL не определен.
Есть ли более надежный способ выполнить такую задачу?любая помощь будет высоко ценится.