Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 当用户通过触摸触发时,如何连续显示不同的图像_Reactjs_React Native - Fatal编程技术网

Reactjs 当用户通过触摸触发时,如何连续显示不同的图像

Reactjs 当用户通过触摸触发时,如何连续显示不同的图像,reactjs,react-native,Reactjs,React Native,我想做一个书的开合动画 我需要执行的动画是从一个图像到另一个图像的过渡 我有3张不同的照片 我对插值部分感到困惑,静止图像的输入范围和输出范围应该给出什么值 我正在努力做到这些: 第一个图像显示为默认值 当用户单击该图像时,它应在 小延迟,它应该再次向用户显示更多图像 这就是我所做的: 导出默认类animateBook扩展组件{ 状态={ 触发:错误, 已关闭帐簿:错误 } 改变图像(){ if(this.state.Triggered==false){ 返回( ); } if(this.

我想做一个书的开合动画

  • 我需要执行的动画是从一个图像到另一个图像的过渡
  • 我有3张不同的照片
我对插值部分感到困惑,静止图像的输入范围和输出范围应该给出什么值

我正在努力做到这些:

  • 第一个图像显示为默认值
  • 当用户单击该图像时,它应在 小延迟,它应该再次向用户显示更多图像
  • 这就是我所做的:

    导出默认类animateBook扩展组件{
    状态={
    触发:错误,
    已关闭帐簿:错误
    }
    改变图像(){
    if(this.state.Triggered==false){
    返回(
    );
    }
    if(this.state.Triggered==true&&this.state.BookClosed==false){
    返回(
    );
    }
    setTimeout(()=>this.stateFunc,1000);
    }
    stateFunc(){
    this.setState({BookClosed:true},()=>setTimeout(()=>this.openBook,1000);
    }
    openBook(){
    if(this.state.Triggered==true&&this.state.BookClosed==true){
    返回(
    );
    }
    }
    render(){
    返回(
    {this.setState({Triggered:true});}>
    {this.changingImages()}
    );
    }
    
    }
    好的,参考您的代码,该代码将永远不会被调用 因为我们要提前归还

    Set timeout返回给定时间后将执行的计时器Id。您可以使用clearTimeout“取消”执行

    尝试这样做:

    状态={
    触发:错误,
    BookClosed:错误,
    }
    closeTimeoutHandler=null;
    改变图像(){
    if(this.state.Triggered==false){
    返回(
    );
    }
    if(this.state.Triggered==true&&this.state.BookClosed==false){
    clearTimeout(这个.closeTimeoutHandler);
    this.closeTimeoutHandler=setTimeout(()=>this.stateFunc(),1000);
    返回(
    );
    }
    if(this.state.Triggered==true&&this.state.BookClosed==true){
    返回(
    );
    }
    }
    stateFunc(){
    this.setState({BookClosed:true});
    }
    render(){
    返回(
    {this.setState({Triggered:true});}>
    {this.changingImages()}
    );
    }
    
    }
    也许这可以通过react native的
    定时器实现,我认为你真的不需要设置动画,因为这不会在任何地方移动,只会在某个时间后更改图像,也许你应该使用定时器来检查,而不是继续设置动画嗯,是的,对于静止图像,我实际上不需要这样做。这是我知道的,它不需要ally需要任何动画,因此我如何使用计时器或如何执行此操作@Adarshsreeram这是我现在所做的,但我没有得到第三张图像,我认为你必须更新你的问题,因为现在你的要求不同,问题也不同哦,好吧,让我先尝试一下这一点嘿,正是这样做的一开始我想要它,我想如果我需要动画,但那不会锻炼,因为我只想在按下时更改图像,设置超时就足够了,非常感谢:)