无法添加属性_tracking,对象不可扩展。
无法添加属性_tracking,对象不可扩展。
用例
我有一个卡片列表,想要创建一个左右滑动的tinder风格功能。我已经使用panResponder使滑动工作了,但是在动画化背景颜色时遇到了问题。
设置
constructor() { super(); this.state = { bgColor: new Animated.Value(0), }; } onPanResponderMove: (evt, gestureState) => { Animated.timing(this.state.bgColor, { toValue: 1, duration: 100, }).start(); } render() { const s = this.state; const p = this.props; const bgColor = s.bgColor.interpolate({ inputRange: [0, 1], outputRange: [colors.gray.one, colors.primary.light] }) return() } { this.props.children }
错误
一旦我开始拖动卡片,就会出现以下错误:
"无法添加属性_tracking,对象不可扩展"
其他说明
如果我用下面的代码替换插值赋值给bgColor
,则不会出现错误,但显然会失去颜色动画的效果。
const bgColor = s.bgColor._value === 0 ? colors.gray.one : colors.primary.light;
问题
对于为什么会抛出这个错误以及如何解决它,有什么想法吗?