Вы не можете использовать this
в качестве имени аргумента, это зарезервированное слово. Вам не нужно его использовать, хотя функции стрелок автоматически связывают this
с окружающим контекстом. Таким образом, снятие этого сделает вашу функцию работоспособной:
onMouseOver={(id)=>{this.increase.bind; this.hover.bind}}
EDIT
Глядя на свою скрипку, кажется, что вы вызываете методы неправильно. Это исправит это:
<code>class Article extends React.Component {
// Rest of your component ommitted for brevity
render() {
const TipStyle = {
marginBottom: "10px"
};
return (
<div style={TipStyle}>
<h2 style={{ marginBottom: "1px" }}>{this.props.name}</h2>
<div>
{[1, 2, 3].map(id => {
return (
<img
style={this.getImgStyle(id)}
src={this.props[`img${id}`]}
onMouseOver={() => {
this.increase(id);
this.hover(id);
}}
onMouseOut={() => {
this.increase(id);
}}
/>
);
})}
<pre>{JSON.stringify(this.state)}
);
}
}