如何解决在本机反应中插入 flex prop
我的第一个问题是,我们可以在 React Native 中插入 flex 属性吗?
如果是,那么我在下面有这段代码,我试图在其中插入 flex 属性以实现可拖动的底部表,或者您可以说一个模态(如内置的本机反应模态)。
这里是构造器代码>
constructor(){
super();
this.state = {
pan: new Animated.Value(40),panResponder: PanResponder.create({
onMoveShouldSetPanResponder: () => true,onPanResponderGrant: () => {
console.log('Responder Granted!!');
this.state.pan.setoffset(this.state.pan._value);
},onPanResponderMove: (_,gesture) => {
this.state.pan.setValue(-gesture.dy);
console.log(this.state.pan._value);
},onPanResponderRelease: (_,gesture) => {
this.state.pan.flattenOffset();
Animated.timing(this.state.pan,{
duration: 500,tovalue: ((gesture.dy < -100) ? (deviceHeight - this.state.modalMinimumHeight) : ((gesture.dy > 100) ? this.state.modalMinimumHeight : ((this.state.discoverModalVisible) ? (deviceHeight - this.state.modalMinimumHeight) : this.state.modalMinimumHeight))),useNativeDriver: false,}).start();
console.log('Responder Released!!');
console.log(gesture.dy,this.state.pan._value);
},}),}
}
这是我的类的渲染函数>
render() {
return(
<View style={{flex: 1,backgroundColor: 'lightblue'}}>
<Animated.View
style={{
position: 'absolute',bottom: 50,left: 0,right: 0,backgroundColor: 'white',// backgroundColor: this.state.pan.interpolate({
// inputRange: [40,deviceHeight - 40],// outputRange: ['white','black'],// }),flex: this.state.pan.interpolate({
inputRange: [0,40,outputRange: [0,0.1,0.9],justifyContent: 'center',alignItems: 'center',}}
{...this.state.panResponder.panHandlers}
>
<Text style={{
flex: 1,}}>
discover
</Text>
</Animated.View>
</View>
)
}
在上面的代码中,我可以插入组件 Animated.View 的背景颜色的值,但是在尝试插入 flex 属性时,我收到如下错误。
Invariant Violation: [7,"RCTView",{"flex":""}] 不能用作本地方法参数
请给出正确的解决方案。 :)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。