如何让 Material UI react Button 充当 react-router-dom Link?

How to make a Material UI react Button act as a react-router-dom Link?

如何使 Material UI 反应 Button 组件充当 [=23] 的 Link 组件=]react-router-dom 又不失原有风格?就像点击更改路线一样。

import Button from '@material-ui/core/Button';

<Button variant="contained" color="primary">
    About Page
</Button>

像这样,但保持原来的Button风格:

import Button from '@material-ui/core/Button';
import { Link } from 'react-router-dom';

<Button variant="contained" color="primary">
    <Link to="/about">
        About Page
    </Link>
</Button>

好的,这很简单,我不知道为什么它不适合我:

就这样:

import Button from '@material-ui/core/Button';
import { Link } from 'react-router-dom';

<Button component={Link} to="/about" variant="contained" color="primary">
  About Page
</Button>

您可以在 https://next.material-ui.com/guides/routing/ 找到更多详细信息。

您需要将 <Button /> 包裹在 <Link /> 组件中。

import Button from '@material-ui/core/Button';
import { Link } from 'react-router-dom';

const ButtonWithLink = () => (
  <Link to="/about">
   <Button variant="contained" color="primary">
     About Page
   </Button>
  </Link>
)

MUI 5 进一步简化了这一点。只需提供具有 href 属性的 MUI Button,如下所示:

import Button from '@mui/material/Button';


<Button href="/" variant="contained">
  Link
</Button>