Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Gatsby.js-可选URL参数_Javascript_React Router_Gatsby - Fatal编程技术网

Javascript Gatsby.js-可选URL参数

Javascript Gatsby.js-可选URL参数,javascript,react-router,gatsby,Javascript,React Router,Gatsby,我想知道是否有一个选项可以创建一个带有可选URL参数排序的Gatsby页面。假设我有一个URL设置为/articles/:articleID的文章列表-这非常有效,但是/articles页面只是空白,没有错误或任何东西,我想为此创建一个处理程序页面,例如404或所有文章的列表 AFAIK Gatsby使用React路由器,所以我将我的URL更改为/articles/:articleID?,但它仍然不起作用 我正在使用createPagesAPI创建所有这些页面,如下所示: // ...

我想知道是否有一个选项可以创建一个带有可选URL参数排序的Gatsby页面。假设我有一个URL设置为
/articles/:articleID
的文章列表-这非常有效,但是
/articles
页面只是空白,没有错误或任何东西,我想为此创建一个处理程序页面,例如404或所有文章的列表

AFAIK Gatsby使用React路由器,所以我将我的URL更改为
/articles/:articleID?
,但它仍然不起作用

我正在使用
createPages
API创建所有这些页面,如下所示:

    // ...

    createPage({
      path: page.url,
      matchPath: `${page.url}${pageParams}`, 
      component: path.resolve(`./src/templates/${page.template}.js`),
      context: {
        ...page.props,
      }
    });

其中,
page
是一个简单的对象,它包含
url
template
等数据。
pageParams
只是一个如下所示的字符串:
/:articleID?


有没有关于如何在没有任何参数的情况下处理页面的提示?因为没有加载模板,但是该页面也没有错误。

老实说,我的代码可能基于该主题重复。动态部分工作正常,我只想为没有任何
articleID
的页面添加一个处理程序
/articles/test article
有效,
/articles
只是一个空白页,没有错误,没有模板。这些文章来自哪里?另外,请将您的
articles
组件添加到问题中。