下面是React Native教程:https://facebook.github.io/react-native/docs/animated.html
但是,当我运行代码时,我得到了以下警告:失败的道具类型:无效的道具opacity
类型object
提供给RCTView
而组件只是消失时,没有动画淡出()得到调用。
下面是一个示例代码:
import React, { Component } from 'react';
import {
AppRegistry,
Text,
View,
Animated,
StyleSheet
} from 'react-native';
import Icon from 'react-native-vector-icon/FontAwesome'
export default class Sample extends Component {
state = {
fadeAnim: new Animated.Value(0),
}
fade() {
Animated.timing( // Animate over time
this.state.fadeAnim, // The animated value to drive
{
toValue: 1, // Animate to opacity: 1 (opaque)
duration: 10000, // Make it take a while
}
).start(); // Starts the animation
}
render() {
let { fadeAnim } = this.state;
return (
<View style={styles.container}>
<TouchableHighlight onPress={() => {this.fade()}}>
<Icon name="circle" size={30} color="#fff" style={{opacity: fadeAnim}}
>
</TouchableHighlight>
</View>
);
}
......
}
您的代码中有一个问题:
图标标签不能在动画中使用,因此请回应本地投诉。
相反,您应该使用以下选项之一来包装图标:TouchableHighlight、TouchableNativeFeedback、TouchableOpacity、TouchableWithoutFeedback,无论哪个选项有效。
https://facebook.github.io/react-native/docs/touchablewithoutfeedback.html
并将属性绑定到Touchable*而不是Icon。
尝试使用背景颜色的alpha值来代替不透明度。
到
...
let faceRgb = 'rgba(0,0,0,' + faceAnim + ' )';
return (
...
<Icon name="circle" size={30} color="#fff" style={{backgroundColor: faceRgb}} />
...
)
您应该将视图更改为动画。查看。然后,您可以选择添加fadeAnim
的内插值,以获得更细粒度的控件。
像这样的东西应该有用。。。
render() {
const { fadeAnim } = this.state;
// optionally tweak the input / output range to suit your needs
const opacity = fadeAnim.interpolate({
inputRange: [0, 1],
outputRange: [0, 1]
});
return (
<Animated.View style={[styles.container, opacity]}>
<TouchableHighlight onPress={() => {this.fade()}}>
<Icon name="circle" size={30} color="#fff"
>
</TouchableHighlight>
</Animated.View>
);
}
您可能不想淡入容器视图,在这种情况下,请移动动画。在触摸屏内部查看。
我使用react原生元素,得到两个相同的警告,一个用于View,一个用于RCTView。 当我用其他东西(只是一个简单的视图)替换瓷砖时,这很好。 警告如下: 警告:失败的道具类型:无效道具。样式键“resizeMode”提供给“RCTView” 警告:失败的道具类型:无效道具。为“视图”提供了样式键“resizeMode” 这是有问题的代码:
我收到警告“警告:失败的道具类型:提供给的类型为
这是我的代码: 我的容器: 我的UI组件: 现在,我正在尝试创建一个调度程序,并将其发送到UI,以便在单击按钮时调用。我对Redux还是新手。问题是,每当我尝试启动应用程序时,都会出现以下错误: 失败的道具类型:为
浏览器控制台始终提供以下警告消息: 检查道具ypes.js:20警告:失败的道具类型:无效的道具
我在react native中引入了用于搜索的Texinput。代码如下: 和: 每当我在输入文本后运行Android时,我都会看到这个警告: 警告失败属性类型为TextInput提供的“object”类型的无效属性“value”,应为“string”
我已经为“Hit”创建了一个类组件,并将其添加到另一个使用angolia react instantsearch“Hits”的文件中。检查此代码:: 但给了我一个警告: 警告:失败的道具类型:提供给