Material-UI RaisedButton 링크를 외부 URL에 연결하려고 해도 실패합니까?
제목에 있는 질문으로.
react, react-router 및 material-ui를 가지고 노는 것.한 곳에서 카드 컴포넌트의 액션버튼을 외부 URL에 링크하고 싶습니다.
window.open을 사용할 이벤트 핸들러를 추가할까 생각 중인데, 더 스마트한 방법인가 봐요?
코드가 이렇게 되기 전에 해결책을 찾았어요
<CardActions>
<RaisedButton
href={this.props.url}
label="OK"
/>
</CardActions>
솔루션은 매우 단순했습니다.
<CardActions>
<a href={this.props.url} target="_blank">
<RaisedButton
label="OK"
/>
</a>
</CardActions>
react-router Link 또는 material-ui 버튼에 외부 링크를 추가하는 경우 외부 URL에 'http://'(또는 https://)를 추가하는 것이 중요합니다.링크는 add http가 없으면 동작하지 않습니다.
잘못된 코드 -
<Link target="_blank" to='www.google.com'>Google</Link>
리다이렉트 링크는
localhost:3000/www.google.com
올바른 코드 -
react-router Link를 사용하여 리다이렉트하는 경우 코드 예를 다음에 나타냅니다.
<Link target="_blank" to='http://www.google.com'>Google</Link>
material-ui 버튼으로 리다이렉트 하는 경우는, 다음의 코드 예를 나타냅니다.
<Button target="_blank" href="http://www.google.com/">Google</Button>
주의: 추가했습니다.target="_blank"
링크/버튼에 있습니다.이것은 옵션입니다(또, Web 사이트에 외부 링크를 추가하는 경우는, 같은 탭이 아닌 다른 브라우저 탭에서 링크를 엽니다).
포장할 수 있습니다.<RaisedButton />
안으로<Link />
내부 라우팅용 컴포넌트.
<Link to={this.props.cardItem.resourceUrl}>
<RaisedButton label="Ok" />
</Link>
간단하게 정리할 수 있습니다.<a>
외부 태그:
<a href={this.props.cardItem.resourceUrl}>
<RaisedButton label="Ok" />
</a>
타겟, 컴포넌트 및 href 소품을 사용해야 합니다.
<Button
target="_blank"
component="a"
href="http://www.google.com/"
>
Google
</Button>
<Button component={Link} to={path} >
LINK BUTTON
</Button>
를 사용해 보았습니다.Link
에서Button.component
- 단, Button 컴포넌트가 전폭으로 되어 있습니다.width: auto;
아무것도 안 했어요
어쨌든, 간단하게 말하면, 다음과 같이 기능적으로나 스타일리시하게 동작할 수 있었습니다.
<Link href="/somewhere/over/the/rainbow" target="_blank">
<Button size="medium" variant="contained" color="primary">
View RV
</Button>
</Link>
나한텐 여전히 버그가 많았어.그 수정사항은<a>
반작용이 아니라<Link>
.
간단하게 패스할 수 있습니다.href
Button 컴포넌트에 프로포트를 클릭합니다.그러면 버튼은 자동으로 링크로 작동합니다.당신은 또한 통과가 허용됩니다. 예를 들어,target
링크를 다른 탭에서 열려면 를 누릅니다.
const PremiumButton = () => (
<Button size="large" href="https://buy.stripe.com/14kdSp4bg6Qj2v65km" variant="contained">
Criar conta premium
</Button>
)
위의 코드는 다음과 같이 출력됩니다.
언급URL : https://stackoverflow.com/questions/38573892/i-try-to-make-my-material-ui-raisedbutton-link-to-an-external-url-without-succes
'IT' 카테고리의 다른 글
타이프스크립트 반응 - 'react-materialize' 모듈에 대한 선언 파일을 찾을 수 없습니다.'path/to/module-name.module'에는 암묵적으로 임의의 유형이 있습니다. (0) | 2023.03.09 |
---|---|
JSON.NET JsonConvert 와NET JavaScript Serializer (0) | 2023.03.09 |
Jackson JSON 루트 요소에 의한 역직렬화 (0) | 2023.03.09 |
코멘트 내의 "@" 기호는 무엇입니까? (0) | 2023.03.09 |
stdin, start, ssh, stderr 및 stdout 오류로 인해 vgrant up이 실패함 (0) | 2023.03.09 |