react-native - 如何使用 reanimated v2 更改背景颜色与过渡
问题描述
我是 react-native-reanimated 的新手。我正在尝试根据状态更改 backgorundCOlor。现在我有这样的代码:
const [visible, setVisible] = useState<boolean>(true)
const backgroundColor = useSharedValue(0);
const backgroundColorStyle = useDerivedValue(() => interpolateColor(backgroundColor.value, [0, 1], ['transparent', 'rgba(0, 0, 0 , .5)']) )
const backgroundInterpolate = useAnimatedStyle(() => ({
backgroundColor: backgroundColorStyle.value
}), [])
....
<Animated.View style={[{height: '65%'}, backgroundInterpolate]}>
....
</Animated.View>
所以用这段代码我得到了这样的错误:
也许我把它弄得太复杂了,比如背景颜色随着过渡而变化。无论如何,我都会向你寻求帮助,因为我很累。
解决方案
我将通过使共享值本身成为布尔值然后使用它来控制背景颜色来简化它
const backgroundColor = useSharedValue(false)
const backgroundInterpolate = useAnimatedStyle(() => ({
backgroundColor: backgroundColor.value ? 'transparent': 'rgba(0, 0, 0), .5)',
}), [])
推荐阅读
- c# - 表单 POST 不做任何事情
- c# - 如何在旧的 ASP.NET 网站(不是网站项目)中使用 C# 6.0 或 7.0
- kendo-grid - 将数据绑定到剑道多选下拉菜单时出现问题
- git - 如何防止开发人员推送特定文件?
- java - 无法拦截 Spring @Async
- junit - 如果假设不满足,防止 jUnit 失败
- angular - “是否有任何支持 .au 格式的 HTML5 音频播放器?或任何外部插件?”
- laravel - 如何在 Laravel 中使用参数制作路由 API
- java - 如何以更高的像素密度显示我的 Java (Swing GUI) 应用程序?
- numpy - 如何计算scipy中的泊松随机变量概率?