当前位置: 首页 > 知识库问答 >
问题:

React-Spring错误:React-Spring返回的“动画”库错误元素类型无效

农明辉
2023-03-14

我正在尝试制作一个简单的动画,我的图像将淡入其中。

下面的代码我导入{useSpring,动画}从'react-Spring'。我创建简单的使用Spring函数logoLoadingScreen。然后我在IMAGE的样式中添加了函数;然而,没有显示动画。

import React from 'react';
import {useSpring, animated} from 'react-spring'
import {View,Text,StyleSheet,Image} from 'react-native';

const logoReParty = () =>{
    require('../img/img1.jpg')
}

const logoLoadingScreen = () => {

    //react Native ANIMATION from 'react-spring'
    const fade = useSpring({
        from:{
            opacity: 0
        },
        to: {
            opacity: 1
        }
    });


    return <View>

       <Image source={require('../img/img1.jpg')} 
       style={[styles.logoBackground, logoLoadingScreen]}
       resizeMode={"contain"}

       />
       <Text style={styles.loadingLogo}>Loading Screen</Text>
    </View>
};

另外,我尝试了下面的方法来利用动画库来包装视图内容。然而,我得到一个错误消息声明不变违反:元素类型是无效的预期字符串或类/函数,但得到:未定义

    return <animated.View>

       <Image source={require('../img/img1.jpg')} 
       style={[styles.logoBackground, logoLoadingScreen]}
       resizeMode={"contain"}

       />
       <Text style={styles.loadingLogo}>Loading Screen</Text>
    </animated.View>
};

如何使用react spring在图像上显示淡入淡出动画?此外,如何在整个屏幕上显示淡入淡出动画?

谢谢:)

更新

正如下面提到的,我创建了新的const AnimatedView=animated(视图)。然而,屏幕的不透明度没有改变,我在动画中也没有看到任何变化。

const AnimatedView = animated(View);

const logoLoadingScreen = () => {

    //react Native ANIMATION from 'react-spring'
    const fade = useSpring({
        from:{
            opacity: 0
        },
        to: {
            opacity: 0.2
        }
    });


    return <AnimatedView style={logoLoadingScreen}>

       <Image source={require('../img/img1.jpg')} 
       style={[styles.logoBackground, logoLoadingScreen]}
       resizeMode={"contain"}

       />
       <Text style={styles.loadingLogo}>Loading Screen</Text>
    </AnimatedView>
};


动画没有出现在屏幕上的可能原因是什么?仅供参考:没有更多的错误,而是没有动画显示在屏幕上。再次感谢您的帮助!^^

已解决

添加淡入淡出风格,解决了我的动画问题。

return <AnimatedView style={logoLoadingScreen,fade}>

感谢那些帮助我的人:)

共有2个答案

微生城
2023-03-14

添加导入

从反应本机导入{Animated}

改变

return <Animated.View>
施慈
2023-03-14

在动画中,只有html元素可以作为常量访问。例如,div可以作为动画进行访问。对于react native和您自己的组件,没有此类常量。必须创建具有动画的新零部件。你必须用这个新的而不是普通的视图。

创建一个新组件:

const AnimatedView = animated(View)
return <AnimatedView style={logoLoadingScreen, ...fade}>
 类似资料:
  • 在典型的 Rust 函数中,返回的值若是有个错误的类型,将导致出现如下所示的错误: error[E0308]: mismatched types --> src/main.rs:2:12 | 1 | fn foo() { | - expected `()` because of default return type 2 | return "foo" |

  • 我有一个问题的PropTypes定义在反应,我定义的类型的doc_count_error_upper_bound字段的类型是类型的数字,但它得到检查对类型的对象。我假设某个地方的PropTypes定义由于某种原因而崩溃,因为数据和定义似乎都是正确的,其他字段都被处理得很好。 该应用程序由一系列组件组成,这些组件组织成反应网格布局https://github.com/STRML/react-grid

  • const loadLibrary=useCallback(异步()= },[用户信息]; Spring code---@PostMap(value="/api/v1/user")public String createUser(@Request estParam("image")MultipartFile image){System.out.println(image);返回";} -错误--组

  • 问题内容: 我正在使用Retrofit(与OkHttp和GSON结合使用)与在线Web服务进行通信。该Web服务的所有响应都有一个默认包装,类似于: 在此示例中,将为或。此外,仅在处理请求时发生错误时才包含任何内容。最后但并非最不重要的一点将包含调用的实际结果(示例中为字符串,但是某些调用返回JSON数组或JSON对象)。 为了处理此元数据,我创建了一个通用类,如下所示: 我还创建了代表有时给出的

  • 我有个愚蠢的问题。我不明白为什么使用Projections的Spring数据存储库方法会产生这个编译错误。 我有一个存储库类 和投影(我有一个大的hibernate连接对象,我只想从中得到几个字段) 当我试图从一个服务调用方法时 我这样调用服务,编译错误就在这里。 我很确定,我这里有一个非常简单的错误...

  • 我是react with typescript的初学者,在下面的代码中面临问题 下面是仪表板组件的代码 这是路线代码 在路线代码中,我面临类型问题,即。 E:/Web/src/router/route中的TypeScript错误。tsx(18,51): 没有重载匹配此调用。 重载1 of 2,'(props: ReadOnly): Road',给出以下错误。键入{Dashboard: string