【发布时间】:2017-03-03 15:57:48
【问题描述】:
我有一个像手风琴一样的无状态组件。单击容器 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;
【问题讨论】:
-
嗯...我认为没关系。
标签: javascript reactjs stateless