假设我有一个Parent
组件,它呈现一组Child
组件。当悬停其中一个Child
组件时,我希望突出显示(bg颜色)属于同一组的Child
组件。如何从父母中选择一组孩子?
见代码,每个Child
拥有一批性质:
https://jsfiddle.net/69z2wepo/53442/
const Parent = React.createClass({
render() {
const rows = [];
let group = 1;
for (let i = 1; i <= 12; i++) {
rows.push(<Child key={i} id={i} group={group} />);
if (i % 3 === 0) {
group++;
}
}
return (
<ul>
{rows}
</ul>
);
}
});
const Child = React.createClass({
render() {
return (
<li className="child">id: {this.props.id} - group: {this.props.group}</li>
);
}
});
ReactDOM.render(
<Parent />,
document.getElementById('app')
);
如果我将鼠标悬停Child
与6 id属性,我怎么强调所有Child
组件这是在中同组,即组2?
注意:如果标题有误导性,我是React新手,对不起。
很好。你能向我解释一下这段代码的工作原理吗?'className = {this.props.active &&'active'}' – Matthew
当然!这几乎“短路”评估分配一个类名。由于'active'是一个传递给组件的布尔值,我们可以对它进行评估。如果它是“真”,它将继续评估并分配字符串“活动”(在这种情况下,我们的类名)。如果它是'假',它将停在那里,根本不分配课程)。我在React中看到过很多这种模式,当你要么分配一些东西的时候,要么什么都不分配(与三元运算符相反)。希望这个清除它! –
作为补充,你可以这样写:'className = {this.props.active? '主动':''}'。两种方法都是相同的。我只是喜欢前者更好。 –