목록의 단일 항목에서 "활성"클래스를 전환 할 수 있기를 원합니다. 요소 목록을 가지고 있다고 가정 해보십시오.React - toggle css class
<ul>
<li><a href="#" className="list-item">First</a></li>
<li><a href="#" className="list-item">Second</a></li>
<li><a href="#" className="list-item">Third</a></li>
</ul>
클릭하면 두 번째 요소에 클래스를 추가 할 수 있기를 원합니다. 왜냐하면 거기에 조건을 추가하면 다른 두 요소의 클래스가 변경되기 때문에 상태를 사용할 수 없습니다.
그래서 해결책은 자신의 상태와 자체 onclick 메서드를 가질 수있는 하위 구성 요소, 즉 자신의 클래스 만 변경할 수있는 <ListItem />
을 만들 수 있습니다. 그런 다음, 클릭 할 때 다른 요소에서 "활성"클래스를 제거하려는 경우이 하위 구성 요소는 다른 요소에서 클래스를 제거하기 위해 부모에게 메소드를 전달해야합니다. 쉬운 종류 (10 초짜리 jquery 종류를 알고 있음)의 작업에서는 꽤 복잡해 보입니다.
누구나 쉽게 해결할 수 있습니까?
다른 큰 npm 모듈 인 document.getElementsByClassName (분명히)이나 refs를 사용하지 않아도됩니다.
여기 상태를 사용으로 문제가 무엇 ? '다른 두 요소의 클래스를 바꿀 것이기 때문에'이게 무슨 뜻입니까? 당신은 그들 모두가 국가 변화에 변화시키지 않을 것입니다. 그들이 그렇게했다하더라도 성능 문제는 아닙니다. 문제가 무엇인지 잘 모릅니다. –