我正在开发一个服务器端渲染的React项目,使用Next.js和Material-UI构建。我想将按钮应用到Material UI并将其与 动态路由链接相结合。
如何实现呢?我想应用React Router链接,但它与普通的不同...
我的问题是该链接需要其他属性,例如 "as" 属性。
如何实现呢?我想应用React Router链接,但它与普通的不同...
我的问题是该链接需要其他属性,例如 "as" 属性。
我的经验是(灵感来自于GitHub上的此评论):
<Link
href={'/static/[dynamic]'}
as={'/static/' + someJsString}
passHref>
<Button
component="a">
// other component ...
</Button>
</Link>
对于 v10+
版本:
<Link
href={`/static/${someJsString}`}
passHref>
<Button
component="a">
// other component ...
</Button>
</Link>
编辑
从next.js
v10+开始,您不需要使用自动“href”解析来指定as
,所以上述代码可以编写为:
<Link
href={'/static/' + someJsString}
passHref>
<Button
component="a">
// other component ...
</Button>
</Link>
passHref
,因为它只有在与<a/>
标签一起使用时才有意义(这就是Link
的用途)。你能更具体地说明你想做什么吗?例如,想在mui-styled
按钮组件中使用<a/>
标签,还是只想用next/link
包装一个Button
?我都做过。请参见差异。 - guneetgstarnext.js
v10+ 中,您不再需要添加as
属性。 - guneetgstar