React native React Native如何从React Native上的本地json文件获取数据视频链接
我准备了一个应用程序,我需要从数据文件中获取视频链接。我能为此做些什么 source={{?}}如何使用flatlist将4个视频投影到屏幕上?多谢各位React native React Native如何从React Native上的本地json文件获取数据视频链接,react-native,react-redux,react-router,react-hooks,react-effects,React Native,React Redux,React Router,React Hooks,React Effects,我准备了一个应用程序,我需要从数据文件中获取视频链接。我能为此做些什么 source={{?}}如何使用flatlist将4个视频投影到屏幕上?多谢各位 export const data = [ { id: 1, name: "Video1", video: "http://example.com/video1.mp4" -> ***how do i do this*** }, { id: 2, na
export const data = [
{
id: 1,
name: "Video1",
video: "http://example.com/video1.mp4" -> ***how do i do this***
},
{
id: 2,
name: "Video2",
video: "http://example.com/video2.mp4" -> ***how do i do this***
},
{
id: 3,
name: "Video3",
video: "http://example.com/video3.mp4" -> ***how do i do this***
},
];
从“/data”导入数据;
函数App(){
报税表(
您可以使用fetch从文件中获取它
在react中,您可以在componentDidMount
中或使用UseEffect
执行此操作。请检查以下示例:
componentDidMount(){
fetch('json-link.json')
.then(response=>response.json())
.then(data=>console.log(data.video));
}
您可以使用JavaScript获取Api。它类似于Jquery,但更好(我认为)。使用它获取视频非常容易。如果您使用的是功能组件,则可以在加载(加载)应用程序时使用useEffect()获取视频
这里有一个例子
fetch('http://example.com/yourvideo.mp4')
.then(response=>response.json())
.然后(数据=>doSomething());
现在您已获取视频:)如果您将json文件放入android的资产和iOS资源中,您可以使用此软件包读取文件内容返回(
设置状态(()=>状态)}
/>
那么你想将数据导入一个组件文件吗?是的@MaartenDevI被这个问题弄糊涂了。我认为你需要做的就是导入JSON文件。代码更改@Linda Paiste我给出的示例没有主题。:(@garrettsmit给出了一个错误@garrettsmit在哪里编写此代码,export const data={id:1,name:“video”,video:?}您必须使用数据[“video”]或数据[2](对此不确定):)
return (
<View style={styles.container}>
<Video
ref={video}
style={{ alignSelf: "center", width: 320, height: 200 }}
source={{ ? }}
useNativeControls
resizeMode="contain"
isLooping
onPlaybackStatusUpdate={(status) => setStatus(() => status)}
/>
export const data = [
{
id: 1,
name: "image1",
image: "../assets/image/sun.png"
},
];
import data from './data';
function App() {
return (
<View>
<Image source={data.image}/>
</View)
}
return (
<View style={styles.container}>
<Video
ref={video}
style={{ alignSelf: "center", width: 320, height: 200 }}
source={{ uri: data?.video }}
useNativeControls
resizeMode="contain"
isLooping
onPlaybackStatusUpdate={(status) => setStatus(() => status)}
/>