[reactjs] React는 레이블 요소의 ‘for’속성을 무시합니다.

React (Facebook의 프레임 워크)에서 표준 for속성을 사용하여 텍스트 입력에 바인딩 된 레이블 요소를 렌더링해야 합니다.

예를 들어 다음 JSX가 사용됩니다.

<label for="test">Test</label>
<input type="text" id="test" />

그러나 이렇게하면 HTML에 필수 (및 표준) for속성 이 누락됩니다 .

<label>Test</label>
<input type="text" id="test">

내가 뭘 잘못하고 있죠?



답변

for속성이라고 htmlFor는 DOM 속성 API와 일관성을 위해. React의 개발 빌드를 사용하는 경우 콘솔에 이에 대한 경고가 표시되어야합니다.


답변

그렇습니다.

for 된다 htmlFor

class 된다 className

기타

HTML 속성이 어떻게 변경되는지에 대한 전체 목록을 보려면 여기를 클릭하십시오.

https://facebook.github.io/react/docs/dom-elements.html


답변

React의 경우 HTML 속성을 정의하려면 정의당 키워드를 사용해야합니다.

class -> className

사용되고

for -> htmlFor

반응은 대소 문자를 구분하므로 필요에 따라 작고 대문자를 따라야합니다.


답변

모두 forclass는 HTML이 JSX 속성에 올 때, 다른 사용 뭔가해야 할 팀이 사용하기로 결정 반작용 왜 자바 스크립트에서 예약어입니다 htmlForclassName각각


답변

그냥 반응 htmlFor을 사용 하여 교체하십시오 for!

아래 링크를 따라 더 많은 정보를 찾을 수 있습니다.

https://facebook.github.io/react/docs/dom-elements.html#htmlfor

https://github.com/facebook/react/issues/8483

https://github.com/facebook/react/issues/1819


답변

JSX에서 htmlFor이고 클래스는 JSX에서 className입니다.


답변