2017-05-24 26 views
1

這裏是我的功能:反應 - 奇怪的東西調用的setState OnMouseEnter在時/發表

handleAnimationState(event, value) { 
let id = event.target.id; 
let animation = this.state.animation; 
let newState = update(animation, {[id]: {$set: value}}) 
this.setState({animation: newState}) 
} 
handleMouseEnter(event) { 
this.handleAnimationState(event, true) 
} 
handleMouseLeave(event) { 
this.handleAnimationState(event, false) 
} 

這裏有

<div id="div1" onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave}> 
    <div style={{position: 'fixed', height: '100%', width: '100%'}}></div> 
    <h1> Title </h1> 
    <p> Lorem. </p> 
</div> 
<div id="div2" onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave}> 
    <div style={{position: 'fixed', height: '100%', width: '100%'}}></div> 
    <h1> Title </h1> 
    <p> Lorem. </p> 
</div> 

一切都應該正常工作的因素,但這裏是發生了什麼,我不要」理解爲什麼:

  • 當我的鼠標進入或離開左側或右側 側的元素時,stat e應該改變。例如,如果我從側面輸入 第一格,則將this.state.animation.div1設置爲true, 並且在我離開時返回false。
  • 當我的鼠標進入從頂部或底部雖然元素,相應的狀態保持不變,這種情況發生:enter image description here

我不明白爲什麼會這樣,怎麼會在事件與觸發空的id值?爲什麼只有從頂部和底部,而不是從側面?

我對此沒有任何解釋,希望你能做到。

編輯:我只是注意到,這隻發生在第一個元素的頂部。當鼠標從底部離開第二個元素時,一切都按照它應該的那樣工作。

回答

0

我覺得很蠢。我只是給h1標籤添加了指針事件:沒有,並且一切都完美無缺。