0
私はonMouseDown
、onMouseOver
、onMouseUp
を対応する方法(すべてが状態を変えます)で使用します。レンダリングメソッドは、どのイベントハンドラ/状態変更がそれを呼び出したかを認識していますか?
onMouseUp
が呼び出された場合、レンダリングされたすべての子コンポーネントに対していくつかの計算を適用する必要があります。
どうすればこのことができますか?
私はonMouseDown
、onMouseOver
、onMouseUp
を対応する方法(すべてが状態を変えます)で使用します。レンダリングメソッドは、どのイベントハンドラ/状態変更がそれを呼び出したかを認識していますか?
onMouseUp
が呼び出された場合、レンダリングされたすべての子コンポーネントに対していくつかの計算を適用する必要があります。
どうすればこのことができますか?
私は、これはあなたが探しているものだと思うん:
const SampleComponent = React.createClass({
getInitialState() {
return {
isMouseDown: false,
isMouseOver: false,
isMouseUp: false
};
},
handleEvent(e) {
const eventType = e.type;
this.setState({
isMouseDown: eventType === 'mousedown',
isMouseOver: eventType === 'mouseover',
isMouseUp: eventType === 'mouseup'
});
},
renderContent() {
if (this.state.isMouseDown) {
return (<p>Mouse is down</p>);
} else if (this.state.isMouseOver) {
return (<p>Mouse is over</p>);
} else if (this.state.isMouseUp) {
return (<p>Mouse is up</p>);
}
return (<p>default content</p>);
},
render() {
return (
<div
onMouseDown={ this.handleEvent }
onMouseOver={ this.handleEvent }
onMouseUp={ this.handleEvent }
>
{ this.renderContent() }
</div>
);
}
});
module.exports = SampleComponent;
あなたは、関連するコードを貼り付けることができますか? – imjared
残念ながら、私のコードは物事を明確にしません。私は、Reactでコントロールフローがどのように機能するのかを理解しようとしています。 –