在我的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
属性,以便当用户直接在地址栏中输入页面地址时,页面会加载默认参数。
谢谢
答案 0 :(得分:1)
c:\Users\pawel.cioch\.gitconfig
如果const { state = { dataRef: "foo" }} = this.props.location;
是state
,这本来可以解决,但是由于它是undefined
,因此仍然是null
。你尝试过类似的东西吗?
null