render() {
return (
<div>
{this.props.render(this.state)}
</div>
)
}
}
render() {
return (
<div>
<h1>Move the mouse around!</h1>
<Mouse render={mouse => (
<Cat mouse={mouse} />
)}/>
</div>
);
}
VERSUS
class Mouse extends Component {
render() {
return (
<div>
{ React.Children.map(children, child => React.cloneElement(child, { mouse: this.state })); }
</div>
)
}
}
render() {
return (
<div>
<h1>Move the mouse around!</h1>
<Mouse>
<Cat />
</Mouse>
</div>
);
}
написали выше уже
при клоне рендер может прыгать
Ручной перебор чилдренов и добавление им свойств удобен, когда хочешь минимум кода писать, например тултип, который сам на mouseenter потомка подписывается
Обсуждают сегодня