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
React native 从React Native中的数据文件获取uri道具_React Native_React Props - Fatal编程技术网

React native 从React Native中的数据文件获取uri道具

React native 从React Native中的数据文件获取uri道具,react-native,react-props,React Native,React Props,大家好,我目前正在开发一个应用程序,为了在屏幕上显示这张图片,我必须获得图片的照片路径。我试图通过创建一个const film=this.props.film来访问它,但我遇到了如下错误: TypeError:undefined不是对象(正在评估“film.photo_path”) 奇怪的是,我可以访问它,我可以在其他组件中显示它,但不是我想要的组件。我用同样的方式称之为 这是代码 filmData.js export default data = [ { id:1,

大家好,我目前正在开发一个应用程序,为了在屏幕上显示这张图片,我必须获得图片的照片路径。我试图通过创建一个
const film=this.props.film
来访问它,但我遇到了如下错误:

TypeError:undefined不是对象(正在评估“film.photo_path”)

奇怪的是,我可以访问它,我可以在其他组件中显示它,但不是我想要的组件。我用同样的方式称之为

这是代码

filmData.js

export default data = [
   {
      id:1,
      name:"Irma",
      photo_path:"http://fr.web.img5.acsta.net/r_1920_1080/medias/nmedia/18/62/85/01/18821912.jpg",
      specialite: "jeu de carte",
      description:"Madame Irma est un personnage de fiction souvent dépeint sous les traits d'une diseuse de bonne aventure"
   },
   {
      id:2,
      name:"Baba",
      photo_path:"http://fr.web.img5.acsta.net/r_1920_1080/medias/nmedia/18/62/85/01/18821912.jpg",
      specialite: "jeu de carte",
      description:"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."

   }
]
    import React from 'react';
    import { StyleSheet, View, TextInput, ScrollView, Button, Text, FlatList, ImageBackground, Image } from 'react-native';
    import { LinearGradient } from 'expo-linear-gradient';

    import MyButton from './MyButton';
    import films from '../Helpers/FilmData';
    import FilmItem2 from './FilmItem2';

    class FilmDetail extends React.Component {
      _displayDetailForFilm = (idFilm) => {
        console.log("Display film with id " + idFilm);
        this.props.navigation.navigate("FilmDetail", { idFilm: idFilm });
      }

      render() {

      const film = this.props.film;

        return (
          <View style={styles.view_container}>
            <ScrollView>
              <View style={styles.photo}>
                <ImageBackground source={{uri: film.photo_path}} style={{width: '100%', height: '100%'}}>
                  <View style={styles.photo_content}>
                    <LinearGradient colors={['transparent', 'rgba(0,0,0,0.9)']} style={{ position: 'absolute', left: 0, right: 0, bottom: 0, height: 80 }} />
                    <Text style={styles.nom}>Irma</Text>
                  </View>

                </ImageBackground>
              </View>
              <Text style={styles.specialite}>Médium pure</Text>
              <Text style={styles.description}>Mon don me permet de capter des messages précis au travers de mes flashs. Élevée par ma grand-mère avec qui j’ai exercé la voyance au quotidien pendant de nombreuses années. Je peux vous guider sur les points qui vous préoccupent et ressentir l’influence des gens qui vous entourent.</Text>
              <View style={{ flexDirection:'row', justifyContent: 'space-around' }}>
                <MyButton style={{}} text={"Voyance privée\nouvert 24h/24\n01 44 01 77 01"} icone='icone-transfert' onPress={() => { alert("Voyance privée"); }}/>
                <MyButton text={"Voyance sans CB\nouvert 24h/24\n32 32"} icone='icone-sonnerie' onPress={() => { alert("Voyance sans CB"); }}/>
              </View>
              <Text style={styles.titre}>Nos Professionnels{"\n"}de la Voyance</Text>
              <FlatList style={styles.flatList}
              horizontal
              data={films}
              keyExtractor={(item) => item.id.toString()}
              renderItem={({item}) => <FilmItem2 film={item} displayDetailForFilm={this._displayDetailForFilm} />} />
              <View style={{ flexDirection:'row', justifyContent: 'space-around', marginBottom: 35 }}>
                <MyButton text={"Je consulte"} icone='icone-sonnerie' onPress={() => { alert("Je consulte"); }}/>
              </View>
            </ScrollView>
          </View>
        )
      }
    }

export default VoyanteProfil
FilmDetail.js

export default data = [
   {
      id:1,
      name:"Irma",
      photo_path:"http://fr.web.img5.acsta.net/r_1920_1080/medias/nmedia/18/62/85/01/18821912.jpg",
      specialite: "jeu de carte",
      description:"Madame Irma est un personnage de fiction souvent dépeint sous les traits d'une diseuse de bonne aventure"
   },
   {
      id:2,
      name:"Baba",
      photo_path:"http://fr.web.img5.acsta.net/r_1920_1080/medias/nmedia/18/62/85/01/18821912.jpg",
      specialite: "jeu de carte",
      description:"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."

   }
]
    import React from 'react';
    import { StyleSheet, View, TextInput, ScrollView, Button, Text, FlatList, ImageBackground, Image } from 'react-native';
    import { LinearGradient } from 'expo-linear-gradient';

    import MyButton from './MyButton';
    import films from '../Helpers/FilmData';
    import FilmItem2 from './FilmItem2';

    class FilmDetail extends React.Component {
      _displayDetailForFilm = (idFilm) => {
        console.log("Display film with id " + idFilm);
        this.props.navigation.navigate("FilmDetail", { idFilm: idFilm });
      }

      render() {

      const film = this.props.film;

        return (
          <View style={styles.view_container}>
            <ScrollView>
              <View style={styles.photo}>
                <ImageBackground source={{uri: film.photo_path}} style={{width: '100%', height: '100%'}}>
                  <View style={styles.photo_content}>
                    <LinearGradient colors={['transparent', 'rgba(0,0,0,0.9)']} style={{ position: 'absolute', left: 0, right: 0, bottom: 0, height: 80 }} />
                    <Text style={styles.nom}>Irma</Text>
                  </View>

                </ImageBackground>
              </View>
              <Text style={styles.specialite}>Médium pure</Text>
              <Text style={styles.description}>Mon don me permet de capter des messages précis au travers de mes flashs. Élevée par ma grand-mère avec qui j’ai exercé la voyance au quotidien pendant de nombreuses années. Je peux vous guider sur les points qui vous préoccupent et ressentir l’influence des gens qui vous entourent.</Text>
              <View style={{ flexDirection:'row', justifyContent: 'space-around' }}>
                <MyButton style={{}} text={"Voyance privée\nouvert 24h/24\n01 44 01 77 01"} icone='icone-transfert' onPress={() => { alert("Voyance privée"); }}/>
                <MyButton text={"Voyance sans CB\nouvert 24h/24\n32 32"} icone='icone-sonnerie' onPress={() => { alert("Voyance sans CB"); }}/>
              </View>
              <Text style={styles.titre}>Nos Professionnels{"\n"}de la Voyance</Text>
              <FlatList style={styles.flatList}
              horizontal
              data={films}
              keyExtractor={(item) => item.id.toString()}
              renderItem={({item}) => <FilmItem2 film={item} displayDetailForFilm={this._displayDetailForFilm} />} />
              <View style={{ flexDirection:'row', justifyContent: 'space-around', marginBottom: 35 }}>
                <MyButton text={"Je consulte"} icone='icone-sonnerie' onPress={() => { alert("Je consulte"); }}/>
              </View>
            </ScrollView>
          </View>
        )
      }
    }

export default VoyanteProfil
从“React”导入React;
从“react native”导入{样式表、视图、文本输入、滚动视图、按钮、文本、平面列表、图像背景、图像};
从“expo linear gradient”导入{LinearGradient};
从“/MyButton”导入MyButton;
从“../Helpers/FilmData”导入影片;
从“/FilmItem2”导入FilmItem2;
类FilmDetail扩展了React.Component{
_displayDetailForFilm=(idFilm)=>{
console.log(“id为“+idFilm”的显示胶片);
this.props.navigation.navigate(“FilmDetail”,{idFilm:idFilm});
}
render(){
const film=this.props.film;
返回(
厄玛
纯地中海
Mon Don Me DeMe Press MeTraveS MES Flash。
{alert(“Voyance privée”);}}/>
{alert(“Voyance sans CB”);}}/>
没有职业律师
item.id.toString()}
renderItem={({item})=>}/>
{警惕(“日本脑炎领事馆”);}/>
)
}
}
导出默认VoyanteProfil

提前感谢!

你能显示FilmDetail.js的所有代码吗?只是更新了它!如果你有未定义的电影,这意味着你在使用它时没有将道具传递给组件。如果你只想从filmData.js检索数据,你不需要调用道具,如果你想像
那样使用你的组件,你不需要调用道具o传递像
这样的道具,我不明白。因此,如果我想访问数据的
描述
字段以获取uri的路径,我需要做:
当我在其他组件中调用它时,它为什么工作?