반응 사이트 경고:href 속성에는 유효한 주소가 필요합니다.유효한 주소를 href 값 jsx-a11y/anchor-is-valid로 지정합니다.
내가 만든 리액트 사이트에서 경고가 표시됨
./src/components/layout/Navbar.js [1] Line 31: The href attribute requires a valid
address. Provide a valid, navigable address as the href value jsx-a11y/anchor-is-valid
다음 코드에 있습니다.
<p>
{isEmpty(profile.website) ? null : (
<a
className="text-white p-2"
href={profile.website}
target="#"
>
<i className="fas fa-globe fa-2x" />
</a>
)}
{isEmpty(profile.social && profile.social.twitter) ? null : (
<a
className="text-white p-2"
href={profile.social.twitter}
target="#"
>
<i className="fab fa-twitter fa-2x" />
</a>
)}
{isEmpty(profile.social && profile.social.facebook) ? null : (
<a
className="text-white p-2"
href={profile.social.facebook}
target="#"
>
<i className="fab fa-facebook fa-2x" />
</a>
)}
</p>
첫 번째 링크에 대해서만 경고가 표시되지만 첫 번째 링크를 일시적으로 삭제하거나 첫 번째 링크의 href를 정적 URL로 변경하면 다음 링크에서도 동일한 경고가 발생합니다.
링크는 아이콘으로만 표시되어야 합니다.
버튼 사용(올바른 모양), 동적 URL 열기 기능 사용, href를 문자열로 강제 설정하기 등을 시도했습니다.'' + {profile.website}
하다
jsx-a11y 규칙을 변경하지 않고 오류를 방지할 수 있는 방법이 있습니까?제가 한 것은 좋은 패턴이 아닌 건가요, 아니면 리액트나 JSX의 버그에 불과합니까?
href="/#"
href="#"
★★★href="javascript:;"
★★★href="javascript:void(0);"
경고가 삭제될 것입니다.
이것들은 나에게 경고를 없애는 데 도움이 되었다.
<a href="#/">...</a>
<a href={() => false}>...</a>
가 쓴 적이 있어요.href="!#"
경고를 제거합니다.
이 경고는 href 속성에 링크를 추가하여 이 경고를 삭제하거나 아직 초기 개발 단계에 있는 경우 write만 작성하면 됩니다.
/* eslint-disable jsx-a11y/anchor-is-valid */
코드 위에 있는 단말기에서 경고가 삭제됩니다. 위 행은 해당 경고가 기록되는 지정된 파일에 대한 규칙을 비활성화합니다.
/* eslint-disable jsx-a11y/anchor-is-valid */
import React from 'react';
const Header = () =>{
return(
<nav className="navbar navbar-expand-lg navbar-light bg-light">
<a className="navbar-brand" href="#">Navbar</a>
<button className="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span className="navbar-toggler-icon"></span>
</button>
</nav>
)
}
기본값을 방지하려면 다음을 사용합니다.
<a href="/#" onClick={(e) => e.preventDefault()}>Link Text</a>
# 뒤에 공백을 삽입하여 경고를 더 이상 받지 않도록 합니다.
href="#"
로로 합니다.href="# "
더 .href="#something"
> =>href="#profile"
★★★★★★★를 사용해 주세요.<button>
<a>
때href
여하하다
이 말을 한다면a
이 될 수도
<a href="#" onClick={ev => {ev.preventDefault(); onClick();}}>"Hello A Tag"</a>
교체해 보다
target="#"
로.
target="_blank"
나는 href에 대해서도 비슷한 경고를 받았고, 나는 다음과 같이 했다.이거 먹어볼 수도 있어.경고를 제거했고 기능은 정상입니다.나는 이것이 맞는지 확실하지 않다.근데 이거 먹어봤어.
let hrefLink = '#'; passed as a arg like href={hrefLink}
링크를 는, 「」를 할 수 .<a>
를 <div>
태그를 지정합니다.경고 메시지가 사라집니다.
// DON't DO THiS
<a className="page-link" href="javascript:void(0);" onClick={() => onPageChange(page)}>
{page}
</a>;
// TRY THIS INSTEAD
<div className="page-link" onClick={() => onPageChange(page)}>
{page}
</div>;
href 속성에 "javascript" 단어를 입력하면 빨간색 경고가 표시됩니다.
index.js:1375 경고: 향후 React 버전에서는 보안 예방책으로 javascript: URL이 차단됩니다.가능하면 이벤트 핸들러를 대신 사용하십시오.
레퍼런스: EsLint 오류 해결 페이지
태그 a에 href를 사용했는데 경고 제거예요
<a href>Pictures</a>
이 경고를 숨길 수도 있습니다.eslint-disable-next-line
코멘트:
// eslint-disable-next-line
<a
onClick={e => {
// do something
}}
>
example
</a>
경고를 제거하기 위해 다음을 사용했습니다.
<a href="/">
url은 올바르게 기재되어 있지만, www.reactjs.org에 입력한 것과 같은 에러가 표시되는 경우는, 같은 경고도 표시됩니다.이러한 문제를 해결하기 위해 앵커 태그에 속성이 있습니다.
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
- style에 사용되는 className.
- 링크에 사용되는 href.
- 새 탭으로 링크를 여는 데 사용되는 대상입니다.
- Rel은 해당 경고의 반응 결과에 사용됩니다.
내가 이것을 언급한다면, 나는 잘못된 것이 보이지 않는다.https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/anchor-is-valid.md
이 링크를 체크 인 합니다.당신과 같은 문제를 안고 있는 사람도 있습니다.이것은 Link 컴포넌트에서 발생하고 있습니다..eslintrc에 예외를 추가하면 수정됩니다.
첫 번째 링크 = > https://github.com/evcohen/eslint-plugin-jsx-a11y/issues/340 및 두 번째 링크 = > React에서 Link 컴포넌트를 사용할 때 jsx-a11y/sys-is-valid를 수정하려면 어떻게 해야 합니까?
도움이 되는지 알려주세요.
경기 시작은 늦었지만 아무도 추천하지 않았다.window.location
현재와 같은 경로를 설정하는 것 뿐입니까?
"#", "/#", "/" 등의 다른 솔루션이 현재 경로를 실제로 변경합니다.보다 일반적인 솔루션에는window.location
수정 없이 현재 페이지를 유지할 수 있습니다.
<a href="window.location" onClick={...}> Better Solution </a>
앵커 태그에 onClick 메서드를 사용하는 경우 유효한 href 링크를 사용해야 합니다.href Atribute에 액세스하려면 유효한 값이 필요합니다.유효한 href를 제공할 수 없지만 링크와 유사한 요소가 필요한 경우 버튼을 사용하여 적절한 스타일로 변경합니다.
투명하게 만들려면 이 속성으로 단추 스타일 변경
button{
background-color: Transparent;
background-repeat:no-repeat;
border: none;
cursor:pointer;
overflow: hidden;
outline:none;
}
버튼 안의 텍스트를 링크 색상과 비슷하게 설정합니다.
나는 이 색을 사용해야 한다.
.editcolor{
color: #1890ff;
}
나는 이 방법으로 나의 오류를 해결했다.
시도했지만, 새로운 eslint에서는 대부분의 답변이 허용되지 않기 때문에 위의 답변은 저에게 효과가 없었습니다.대신, 특정 회선의 eslint 를 무효로 하는 것에 대해 설명하고 있습니다.
간단하게 추가:// eslint-disable-next-line
에러를 발생시키는 jsx 행 바로 앞에 오는 행으로 이동합니다.
또, 이 코멘트를 {/*}내에 추가해 주세요.*/} 를 지정하지 않으면 에러가 표시됩니다.
: 사법 usage :{/* // eslint-disable-next-line */ }}
아아아아아악!
'#'을 '#'으로 바꾸면 돼요. 행운을 빌어요.
<li className="nav-item pointer">
<a onClick={logout} href="/#" className="nav-link">
LOGOUT
</a>
</li>
또는 그냥 사용하다
href="/"
안 함: " " " " " :<a href='#'>Something</a>
씁니다.<a href='/'>Something</a>
언급URL : https://stackoverflow.com/questions/52801051/react-site-warning-the-href-attribute-requires-a-valid-address-provide-a-valid
'IT' 카테고리의 다른 글
wordpress가 쿼리가 있는 스크립트/스타일을 큐에서 해제할 수 없습니다. (0) | 2023.03.14 |
---|---|
ReactJs에서 이벤트에 className을 추가 또는 삭제하려면 어떻게 해야 합니까? (0) | 2023.03.14 |
프로젝트에서 "를 참조하지 않습니다.NETFramework, Version=v4.5" 프레임워크. (0) | 2023.03.14 |
Angular ui-router 라이프 사이클이란 무엇입니까(사일런트 오류 디버깅용) (0) | 2023.03.14 |
빈칸을 제거하다빈칸을 제거하다php functon을 통해 wordpress 쇼트 코드에서 태그 생성 (0) | 2023.03.14 |