Javascript 如何使用React Native和onPress制作简单动画?

Javascript 如何使用React Native和onPress制作简单动画?,javascript,react-native,Javascript,React Native,我正在用RN做一个简单的游戏,只想知道如何在我点击一个物体后使它平滑地消失?我对钩子非常熟悉,我想知道如何在不使用太多this或类或其他东西的情况下使它尽可能简单。 请帮帮我,我会非常感激的!: 动画方法将参数作为值,并将这些值转换为动画值,然后我们可以使用这些值为组件制作动画, ****代码**** <View style={styles.container}> <TouchableOpacity style={styles.btn} onPre

我正在用RN做一个简单的游戏,只想知道如何在我点击一个物体后使它平滑地消失?我对钩子非常熟悉,我想知道如何在不使用太多this或类或其他东西的情况下使它尽可能简单。
请帮帮我,我会非常感激的!:

动画方法将参数作为值,并将这些值转换为动画值,然后我们可以使用这些值为组件制作动画, ****代码****

           <View style={styles.container}>
    <TouchableOpacity style={styles.btn} onPress={() =>this._start()}>
      <Text style={styles.textBtn}>Start</Text>
    </TouchableOpacity>
    <Animated.View
      style={{
        opacity: this.state.fadeValue,
        height: 250,
        width: 200,
        margin: 5,
        borderRadius: 12,
        backgroundColor: "#347a2a",
        justifyContent: "center"
      }}
    >
      <Text style={styles.text}>Fade </Text>
    </Animated.View>
  </View>

动画方法将参数作为值,并将这些值转换为动画值,然后我们可以使用这些值为组件设置动画, ****代码****

           <View style={styles.container}>
    <TouchableOpacity style={styles.btn} onPress={() =>this._start()}>
      <Text style={styles.textBtn}>Start</Text>
    </TouchableOpacity>
    <Animated.View
      style={{
        opacity: this.state.fadeValue,
        height: 250,
        width: 200,
        margin: 5,
        borderRadius: 12,
        backgroundColor: "#347a2a",
        justifyContent: "center"
      }}
    >
      <Text style={styles.text}>Fade </Text>
    </Animated.View>
  </View>
您可以尝试使用react本机动画库

一种解决方案:

<TouchableOpacity onPress={() => this.setState({opacity:0})}>
  <Animatable.Text transition="opacity" style={{fontSize: this.state. opacity }}>Size me up, Scotty</Animatable.Text>
</TouchableOpacity>

第二种解决方案

import * as Animatable from 'react-native-animatable';

class ExampleView extends Component {
  handleTextRef = ref => this.text = ref;

  render() {
    return (
      <TouchableWithoutFeedback onPress={() => this.text.transitionTo({ opacity: 0.2 })}>
        <Animatable.Text ref={this.handleTextRef}>Fade me!</Animatable.Text>
      </TouchableWithoutFeedback>
    );
  }
}

它有许多配置,有关更多详细信息,您可以阅读官方的

您可以尝试使用react native animatable library

一种解决方案:

<TouchableOpacity onPress={() => this.setState({opacity:0})}>
  <Animatable.Text transition="opacity" style={{fontSize: this.state. opacity }}>Size me up, Scotty</Animatable.Text>
</TouchableOpacity>

第二种解决方案

import * as Animatable from 'react-native-animatable';

class ExampleView extends Component {
  handleTextRef = ref => this.text = ref;

  render() {
    return (
      <TouchableWithoutFeedback onPress={() => this.text.transitionTo({ opacity: 0.2 })}>
        <Animatable.Text ref={this.handleTextRef}>Fade me!</Animatable.Text>
      </TouchableWithoutFeedback>
    );
  }
}


它有许多配置,有关更多详细信息,您可以阅读官方

谢谢!我刚在动画文档上读到它,真是太棒了!我猜这是一个很小的问题,但我的另一个形象的一小部分。动画效果非常好,但在第一次渲染时,可设置动画的块不会立即渲染,而是在大约1秒后渲染,这使得猜测图像毫无用处,因为图像的一半已经显示给播放器。我想知道如何延迟该可动画块的渲染,直到完全加载,然后才显示在屏幕上,而不是在0.5s后显示并显示部分图像。我知道您想在视图渲染完成后启动动画,可以将其用作第二个解决方案,在componDidMount中启动动画。如果您想延迟动画,可以使用dealy propsThanks!事实上,我现在使用了动画与挂钩,它的工作!这太棒了谢谢你,伙计!我刚在动画文档上读到它,真是太棒了!但我还有一个小问题:我正在制作一个游戏,玩家必须通过打开图像的一小部分来猜测图像。动画效果非常好,但在第一次渲染时,可设置动画的块不会立即渲染,而是在大约1秒后渲染,这使得猜测图像毫无用处,因为图像的一半已经显示给播放器。我想知道如何延迟该可动画块的渲染,直到完全加载,然后才显示在屏幕上,而不是在0.5s后显示并显示部分图像。我知道您想在视图渲染完成后启动动画,可以将其用作第二个解决方案,在componDidMount中启动动画。如果您想延迟动画,可以使用dealy propsThanks!事实上,我现在使用了动画与挂钩,它的工作!这太棒了欢迎我的朋友欢迎我的朋友