2016-10-06 46 views
0

後組件不會更新我每次發生特定事件時都使用direct manipulation來更改視圖的顏色。調用`this.forceUpdate();`

我的渲​​染功能:

onSlideChangeHandle(index) { 
    this._view.backgroundColor = 'red' 
    this._view.forceUpdate() 
    } 

我需要做些什麼更給力的組件來改變顏色:

render() { 
    return (
     <View> 
     <View 
      ref={component => this._view = component} 
      style={{width: 50, height: 50}} /> 
     </View> 
    ); 

被稱爲每一個特定的事件發生時我的更新功能?該方法被調用,並且屬性被更新。不幸的是,用戶界面沒有更新,調用強制更新。我想念什麼?我知道我應該使用狀態來更新組件,但對於這個特定情況,我真的需要直接操作。

+0

你能解釋爲什麼你不能使用狀態? – FuzzyTree

回答

0

我發現了這個問題。我需要使用setNativeProps來更新背景顏色。

onSlideChangeHandle(index) { 
    this._view.setNativeProps({ style: { 
     backgroundColor: 'red' 
    } }); 
}