Material-UI按钮组件在Github页面上部署后无法正常工作

时间:2018-09-06 12:29:53

标签: reactjs github material-ui github-pages

<Button href={node.slug}>
  <span>Read more</span>
</Button>

所以基本上这是Card组件中的一个按钮,我认为更多的代码不会显示更多的含义,请在需要时提供更多信息。 node.slug变量类似于“产品名称”。在本地环境中可以正常工作,但是在Github页面上部署后不能正常工作。

这是产品类别页面(即/ tools或/ maintenance)上的按钮,第一次单击该按钮会将我带到:

xxx.github.io/project-name/product-name /

问题是,我返回并再次单击按钮后,/ product-category /被添加到URL:

xxx.github.io/project-name/product-category/product-name /

这不是我想要的链接,因为这里没有页面。第一个URL是我想要的位置,因为这是产品所在的URL类型。除非我单击“主页”按钮,否则/ product-category /不会消失。

1 个答案:

答案 0 :(得分:1)

如果我正确推断出node.slug就像"product-name"

这意味着它不是绝对路径,因此您可以将其解释为./product-name

尝试:

<Button href={`/project-name/${node.slug}`}> ... </Button>

另一种方法是更改​​页面的基本href。在您的<base>中添加一个<head>元素:

<head>
  ...
  <base href="http://xxx.github.io/project-name/">
</head>

那么所有非绝对href都将从该基数开始。

别忘了在/的{​​{1}}的末尾添加一个base