【发布时间】:2017-08-22 23:24:32
【问题描述】:
我很难确定 React 中这两种渲染模式之间的区别。希望有人能对这个问题有所了解。
模式 1:React 的条件渲染
https://facebook.github.io/react/docs/conditional-rendering.html
class List extends React.Component {
state = {
menu: false,
}
handleMouseOver = () => {
this.setState({
menu: true
});
}
handleMouseLeave = () => {
this.setState({
menu: false
});
}
render() {
const { menu } = this.state;
return (
<li
onMouseOver={this.handleMouseOver}
onMouseLeave={this.handleMouseLeave}
>
{menu && <Menu />}
</li>
);
}
}
模式 2: display: none
.menu {
display: none;
}
.li:hover .menu {
display: block;
}
const List = () => (
<li className="li"><Menu className="menu"/></li>
);
问题:
如果我需要在一个页面中呈现 100 个这样的项目,我应该采用哪种模式?
如何确定哪种模式更好?
使用其中一种是否有任何性能优势?
【问题讨论】:
标签: javascript css reactjs