每次特定事件发生时,我都会使用direct manipulation来更改视图的颜色。
我的渲染功能:
render() {
return (
<View>
<View
ref={component => this._view = component}
style={{width: 50, height: 50}} />
</View>
);
每次特定事件发生时调用的更新函数:
onSlideChangeHandle(index) {
this._view.backgroundColor = 'red'
this._view.forceUpdate()
}
我是否需要做更多的事情来强制组件改变颜色?调用该方法,并更新属性。不幸的是,UI没有更新调用强制更新。我错过了什么吗?我知道我应该使用状态更新组件,但对于这个特定情况,我真的需要直接操作。
答案 0 :(得分:0)
我发现了这个问题。我需要使用setNativeProps
更新背景颜色。
onSlideChangeHandle(index) {
this._view.setNativeProps({ style: {
backgroundColor: 'red'
} });
}