material-ui 1.0 목록에 링크를 추가하는 방법
다음은 onClick 애니메이션을 방해합니다(ListItem이 빨간색으로 바뀝니다).
<List>
<a href="https://www.google.com">
<ListItem button>
<ListItemText primary="Google" />
</ListItem>
</a>
</List>
ListItem 내부에 링크를 추가할 때 ListItem이 동작하는 경우에만 이행이 이루어집니다.텍스트가 클릭되고 있는데, 이것은 내가 원하는 것이 아니다.링크를 추가하는 올바른 방법은 무엇입니까?
to use with "react-router-dom"
import { Link } from "react-router-dom";
<ListItem button component={Link} to="/design">
이 예에서는 docs에 대해 설명합니다.
이를 실현하기 위한 가장 쉬운 방법은 이 시스템을ListItem
를 사용한 링크component
소품:
<List>
<ListItem button component="a" href="https://www.google.com">
<ListItemText primary="Google" />
</ListItem>
</List>
그렇게 하면ListItem
원하는 장소에 링크하는 앵커 태그가 되지만 시각적인 변화가 없도록 적절한 스타일링을 받을 수 있습니다.
의 동작component
여기에 소품 설명이 있습니다.주의:href
소품 설명서의 마지막 줄에 지정된 대로 소품이 앵커 태그로 자동으로 전달됩니다.
제공된 다른 속성은 루트 요소로 확산됩니다.
나도 같은 문제에 직면했지만 아마도 새로운 자료 업데이트일 것이다.이로 인해 UI가 동작하지 않아 '@material-ui/core/Link'에서 Import Link를 Import할 때 약간의 변경이 있습니다.
효과가 있을 것이다
import Link from '@material-ui/core/Link';
<List>
<ListItem button component={Link} href="/dsda">
<ListItemIcon>
<DashboardIcon />
</ListItemIcon>
<ListItemText primary="DashBoard"/>
</ListItem>
</List>
Next.js와 함께 사용할 경우 다음과 같이 처리했습니다.
import Link from "next/link";
<List>
<Link href="/myUrl" passHref>
<ListItem button component="a">
My Link Text
</ListItem>
</Link>
</List>
mui V5 + NextJs의 경우 목록 항목 내에 여러 자녀(예: 텍스트 및 아이콘)를 두려면 다음과 같이 하십시오.
import {
Link,
ListItem,
ListItemIcon,
ListItemText,
} from '@mui/material';
import NextLink from 'next/link';
<NextLink href="/some/route" passHref>
<ListItem
button
component={Link}
>
<ListItemIcon>
<SupportIcon />
</ListItemIcon>
<ListItemText
primary="Support"
secondary="Get super friendly support"
></ListItemText>
</ListItem>
</NextLink>
이게 진짜가 될 거야a
- 페이지 새로고침 없이 nextjs-displays가 남아 있는 경우.
import React, { forwardRef } from "react";
// material-ui components
import ListItem from "@material-ui/core/ListItem";
import ListItemIcon from "@material-ui/core/ListItemIcon";
import ListItemText from "@material-ui/core/ListItemText";
// react-router
import { Link as RouterLink } from "react-router-dom";
const ListItemLink = (props) => {
const { icon, primary, to } = props;
const renderLink = React.useMemo(
() =>
forwardRef((itemProps, ref) => (
<RouterLink to={to} ref={ref} {...itemProps} />
)),
[to]
);
return (
<>
<ListItem button component={renderLink}>
{icon ? <ListItemIcon>{icon}</ListItemIcon> : null}
<ListItemText primary={primary} />
</ListItem>
</>
);
};
export default ListItemLink;
그건 사실 의사록에 나와 있어요
ListItem
의button
ListItem 소품(MUI API Docs)에서 볼 수 있듯이 소품은 DEPRECUED가 되었습니다.
이것은 @JulesDupont answer에 의해 제안된 코드의 갱신 버전입니다.
<List>
<ListItem>
<ListItemButton component="a" href="https://www.google.com">
<ListItemText primary="Google" />
</ListItemButton>
</ListItem>
</List>
언급URL : https://stackoverflow.com/questions/47206639/how-to-add-a-link-to-a-list-in-material-ui-1-0
'programing' 카테고리의 다른 글
WordPress에서 홈페이지를 제외한 모든 페이지에 대해 404페이지를 찾을 수 없다고 합니다. (0) | 2023.03.07 |
---|---|
HTML을 렌더링하지 않고 React를 사용할 수 있습니까? (0) | 2023.03.07 |
스프링 부트:fat jar를 사용하여 임의의 디렉토리에서 외부 application.properties 파일을 사용할 수 있습니까? (0) | 2023.03.07 |
Redux와 Redux-Toolkit 중 어느 쪽을 사용해야 합니까? (0) | 2023.03.07 |
Null 값으로 열 업데이트 (0) | 2023.03.07 |