私は反応しています。ここにアイコンがあります。このアイコンをCSSのようにホバー状態にする必要がありますが、Reactjs、私のスクリプトで何かが間違っていますが、何がわからないのですか
import React from 'react';
import ReactDOM from 'react-dom';
var FontIcon = React.createClass({
getInitialState:() => {
return {
hover: false,
};
},
render(){
var _props = this.props,
iconStyle = {
'font-size': _props.size,
cursor: "default"
}
function hoverOn(){
this.setState({
hover: true
});
}
function hoverOff(){
this.setState({
hover: false
});
}
if (this.state.hover) {
iconStyle.color = _props.hoverColor;
} else {
iconStyle.color = _props.color;
}
return(
<i className="material-icons" style={iconStyle} onmouseenter={this.hoverOn} onmouseleave={this.hoverOff} >{_props.className}</i>
);
}
});
ReactDOM.render(
<FontIcon className="account_circle" size="100" color="blue" hoverColor="red" />,
document.getElementById('app')
);
そして、私が間違っているのか分からない:アプリ、ここに私のコードは反応する助け
がrender' '内の関数を宣言しないでください
あなたはonMouseEnterとonMouseLeaveプロパティを使用する必要があります。それらは 'render'と同じレベルになければなりません。 –
@FabianSchultzしかし、これは私の次のようなエラーです:./app.jsのエラー モジュールのビルドに失敗しました:SyntaxError:/ my path /予期しないトークン(12:1) 10 | } 11 | > 12 |関数hoverOn(){ |^ 13 | this.setState({ 14 | hover:true 15 |}); – Karol
前面に 'function'をなくします。 –