Javascript 在GatsbyJS中,当向链接页面传递道具时,如何设置defaultProp?
我遇到Javascript 在GatsbyJS中,当向链接页面传递道具时,如何设置defaultProp?,javascript,Javascript,我遇到类型错误:当“链接页面”刷新(f5)或页面作为直接流量访问时,无法读取null属性“serviceCategory” 我试过设置默认道具,但没有触发 以下是我当前的设置: <Link to="/locations" state={{ serviceCategory: "FILTER", }} > defaultProps在盖茨比的文档中找不到,所以我正在考虑另一种解决方案。在这种情况下,defaultProps将不起
类型错误:当“链接页面”刷新(f5)或页面作为直接流量访问时,无法读取null属性“serviceCategory”
我试过设置默认道具,但没有触发
以下是我当前的设置:
<Link
to="/locations"
state={{
serviceCategory: "FILTER",
}}
>
defaultProps
在盖茨比的文档中找不到,所以我正在考虑另一种解决方案。在这种情况下,defaultProps
将不起作用,因为盖茨比在内部使用@reach/router
和props。location
值被它覆盖
您可以在defaultProps
中使用不同的变量名,也可以为state使用默认值
const state = location.state || { serviceCategory: 'ALL' }
注意
const { state = {serviceCategory:'ALL'} } = location
无法工作,因为分解结构中的默认初始值设定项仅适用于未定义的
值,而不适用于null
值。在这种情况下,您的值为null
const { state = {serviceCategory:'ALL'} } = location