javascript - 如何解决错误 - 尝试在 react native 视频中加载空源

标签 javascript html reactjs react-native react-hooks

我尝试使用视频作为配置文件切换器,这样当按下配置文件切换器时,它会在另一个屏幕中播放视频。但我试过播放它保留的视频 给我一个警告“试图加载空源”。请问我错过了什么?

这是我在 videoAvarterScreen.js 上的代码:

...
import vidData from '../../../data/data';
import Video from 'react-native-video';
import styles from './styles';

const VideoAvarterScreen = () => {


    const route = useRoute();

    const userId = route.params.userId;

    const userAvarter = vidData.find(vidAvarter => vidAvarter.user.id === userId);

    console.log("userAvarter");
    console.log(userAvarter);

    

    const [paused, setPaused] = useState(true);

    const onPlayPausePress = () => {
        setPaused(!paused);
    }

    return(
        <SafeAreaView style={styles.container}>
            <TouchableOpacity onPress={onPlayPausePress}>
                <Video 
                    source={{ uri: vidData.videoUri }}
                    style={styles.videoAvarter}
                    resizeMode={'cover'}
                    repeat={true}
                    paused={paused}
                />
            </TouchableOpacity>
            
        </SafeAreaView>
    );  
}
    
export default VideoAvarterScreen;

这是我的 data.js:

export default [
    {
        id: '1',
        user: {
            imageUri: 'https://media-exp1.licdn.com/dms/image/C4D03AQEh5M1sg1G5VA/profile-displayphoto-shrink_800_800/0/1516536139756?e=1613606400&v=beta&t=xKHlgicMaGaMAxW_L6f83Tvt3o-tbDGbUjtzyYRf9Qk',
            name: 'Shawacademy',
            username: '@shawacademy',
            gender: 'female',
            bio: `I'm an entrepreneur, and \nambitous business woman.`
        },

        videoAvarter: [
            {
                videoUri: 'https://www.w3schools.com/html/mov_bbb.mp4',
                postedAt: '30 minutes ago',
                locatedAt: 'Kuwait, Kuwait',
            }
        ]
        
    },
    ......

最佳答案

您的视频组件使用原始 vidData 数组而不是 userAvarter 值。

因此尝试将 source={{ uri: vidData.videoUri }} 更改为 source={{ uri: userAvarter.videoAvarter.videoUri }}

关于javascript - 如何解决错误 - 尝试在 react native 视频中加载空源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66648972/

相关文章:

php - 当数据库仍为空时,默认图像不会显示

html - 内容后面的 Bootstrap 导航栏

javascript - 从 Angular 2.2.3 升级到 2.4.0

javascript - 高速路由器

javascript - Protractor - 在端到端测试中检查字符串不为空的最佳方法

javascript - React-Native 和 React-DoM 之间的主要区别是什么

reactjs - 我可以更改 react js 包中的样式吗?

嵌套函数中的javascript实例共享

javascript - 使用 vanilla JS 突出显示事件选项卡

reactjs - 如何在 Material UI makestyles 中使用媒体查询