В моем приложении GatsbyJs я передаю параметр в состоянии через компонент <Link/>
.Этот параметр в состоянии указывает, какой контент отображать, когда пользователь переходит на страницу.
<Link
to={`/${link}`}
state={{ dataRef: dataToDisplay }}
key={j}
>
{heading}
</Link>
Это нормально работает.
Однако, когда пользователь непосредственно переходит на страницу (вставляетадрес в адресной строке), я получаю сообщение об ошибке: TypeError: _this.props.location.state is null
, потому что состояние пусто.
То, что я пытался:
На моем page
компоненте,Я попытался передать default value
в this.props.location.state
в виде:
const { state = { dataRef: "foo" }} = this.props.location;
Однако это тоже не сработало и вернуло ту же ошибку.Поэтому мой вопрос заключается в том, как установить свойство dataRef
по умолчанию в пределах состояния, чтобы при вводе пользователем адреса страницы непосредственно в адресной строке страница загружалась с параметрами по умолчанию.
Спасибо