Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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
Javascript 提取道具中的对象_Javascript_Arrays_Json_Reactjs - Fatal编程技术网

Javascript 提取道具中的对象

Javascript 提取道具中的对象,javascript,arrays,json,reactjs,Javascript,Arrays,Json,Reactjs,这在我的渲染中 const { thumbnail, loading, key } = this.props.video.video; console.log(this.props.video.video); 这是我的输出 我想从对象数组中提取缩略图。但例如,如果我执行this.props.video.video[0]操作,它会返回未定义的值吗?最后,我计划使用缩略图传递到另一个组件,如下所示 videoContent = <TileFeed thumbnail={thumbna

这在我的
渲染中

const { thumbnail, loading, key } = this.props.video.video;
    console.log(this.props.video.video);
这是我的输出

我想从对象数组中提取缩略图。但例如,如果我执行
this.props.video.video[0]
操作,它会返回未定义的值吗?最后,我计划使用缩略图传递到另一个组件,如下所示

videoContent = <TileFeed thumbnail={thumbnail} />;
videoContent=;

因为道具可能未定义,在渲染时

    const RenderVideos = (props) => {
       if(props.videos===undefined   ){
          return <div>Loading..</div>
       }else{
          return props.videos.map((item)=> <TileFeed thumbnail={item.thumbnail} />)
       }
    }
   ...
   render(){

     return (
        <div>
            <RenderVideos videos={this.props.video.video}/>
        </div>
     )
   }
const RenderVideos=(道具)=>{
如果(道具视频===未定义){
返回装载。。
}否则{
返回道具.视频.地图((项)=>)
}
}
...
render(){
返回(
)
}

我认为您分析了错误的数组对象,请映射该对象以查看您有什么?
试试这个:

this.props.video.video.map((item)=>{
console.log(item);
});
类扩展组件{
componentDidMount(){
this.props.getVideos();
}
render(){
const{videos,loading,key}=this.props.videos;
让视频内容;
如果(视频===null | |加载){
视频内容=;
}否则{
视频内容=;
}
console.log({videoContent});
返回(
{videoContent}
);
}
}
Explore.propTypes={
getVideos:PropTypes.func.isRequired,
auth:PropTypes.object.isRequired,
配置文件:PropTypes.object.isRequired,
视频:PropTypes.object.isRequired
};
常量mapStateToProps=状态=>({
profile:state.profile,
auth:state.auth,
视频:state.videos
});

我对PropTypes有一些问题,我想把它扔掉,因为在配置了这个后它现在可以工作了

const{缩略图,loading,key}=this.props.video.video有什么问题?此.props.video.video.video[0]。应该是。正如我看到的控制台日志一样,如何从数组中获取这些项<代码>常量{缩略图,加载,键}=this.props.video.video我的意思是它是一个列表。如果没有父级,则无法呈现列表<代码>返回此.props.video.video.map((项目)=>;)将此内容包装成
可能会添加一些小的解释,即使代码是解释性的
class Explore extends Component {
  componentDidMount() {
    this.props.getVideos();
  }
  render() {
    const { videos, loading, key } = this.props.videos;
    let videoContent;
    if (videos === null || loading) {
      videoContent = <Spinner />;
    } else {
      videoContent = <TileFeed thumbnail={videos} />;
    }
    console.log({ videoContent });

    return (
      <div className="explore">
        <div className="row">{videoContent} </div>
      </div>
    );
  }
}

Explore.propTypes = {
  getVideos: PropTypes.func.isRequired,
  auth: PropTypes.object.isRequired,
  profile: PropTypes.object.isRequired,
  videos: PropTypes.object.isRequired
};

const mapStateToProps = state => ({
  profile: state.profile,
  auth: state.auth,
  videos: state.videos
});