私はアコーデオンのように動作するステートレスコンポーネントを持っています。コンテナdivをクリックすると、いくつかの子コンポーネントのいくつかのCSSクラスが切り替わります。それは、domのクラスを直接変更しても問題ありませんか?または、このステートレスコンポーネントをステートフルコンポーネントに変換して、そのクラスをステート間で切り替える必要がありますか?ステートレスレスキューコンポーネントでクラスを追加/削除することはできますか?
import React, {PropTypes} from "react"
const Accordian = ({children,label,align}) => {
return(
<div class={"accordian-tab " + (align === "left" ? "accordian-tab-left" : "")} onClick={
(e) => {
e.target.parentNode.getElementsByClassName("panel")[0].classList.toggle("show");
e.target.parentNode.getElementsByClassName("accordion")[0].classList.toggle("active");
}
}>
<button class="accordion">{label}<i class="material-icons arrow-icon">keyboard_arrow_down</i></button>
<div class="panel">
{children}
</div>
</div>
)
}
Accordian.propTypes = {
label: PropTypes.string.isRequired
}
export default Accordian;
hmm ...私はそれが大丈夫だと思います。 –