Нарушение инварианта: нарушение инварианта: outputRange не может включать #ffffff. (#ffffff, #aaa2d7,#aaa2d7)
Я получаю эту ошибку даже при изменении: inputIndex === i? 255: 0 для inputIndex === i? "#ffffff": "#aaa2d7".
цель - когда активна первая вкладка, цвет заголовка должен быть белым "#ffffff", а остальные вкладки должны быть "#aaa2d7"
const inputRange = props.navigationState.routes.map((x, i) => i);
return (
<View style={{backgroundColor: "#5243af",flexDirection: 'row', height: Metrics.HEIGHT * 0.1, elevation: 0}}>
{ props.navigationState.routes.map((route, i) => {
const color = Animated.color(
Animated.round(
Animated.interpolate(props.position, {
inputRange,
outputRange: inputRange.map(inputIndex =>
inputIndex === i ? "#ffffff" : "#aaa2d7"
),
})
),
0,
0
);
return (
<TouchableOpacity
style={{flex: 1, alignItems: 'center', borderLeftColor: "#9a91d2", borderLeftWidth: 1/* , borderBottomWidth: 3, borderBottomColor "red" */}}
key={i}
onPress={() => {
//this.changeTabs(route.key)
this.setState({ index: i })
}}>
{this._getTabBarIcon(route.key)}
<Animated.Text style={{ color, fontSize: Fonts.moderateScale(15), marginBottom: 10 }}>{route.title.toLocaleUpperCase()}</Animated.Text>
</TouchableOpacity>
);
})}
</View>
);
}
благодарю вас
1 ответ
Вы можете попробовать что-то подобное.
const scrollY = new Animated.Value(0);
const bgColor = Animated.interpolate(scrollY, {
inputRange: [0, HEADER_HEIGHT],
outputRange: [Animated.color(56, 180, 113, 0), Animated.color(56, 180, 113, 1)]
})