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

React in render方法无法读取此内容。道具。地方国家“

曹原
2023-03-14

我学会了反应,但现在我不知道该怎么做:

无法读取未定义的属性'state'

在线:

  if (album.route === this.props.location.state.week) {

这是渲染:

 render() {
        
    let photosArr = []
    albums.map((album) => {
      if (album.route === this.props.location.state.week) {
        album.data.forEach((photo) => {
          photosArr.push([photo.id, photo.src])
        })
      }
    })
    this.state.items = photosArr
    console.log(this.props.location)

我这样调用它使用导入{with路由器}从反应路由器;

onImageClick = val => {
    const {history} = this.props;
    history.push("/timeLineViewer", val);
  };

它的工作原理,如果我删除albums.map((专辑...代码然后console.log....

问题是渲染的在我调用从onImageclick更新道具之前被调用,所以如果我有this.props.location.state.week.,我会得到上面的错误。

既然这样,我该如何处理呢。道具。地方状态在我调用图像前不存在单击


共有1个答案

汪才
2023-03-14

我怎么能处理这个,因为this.props.location.state不存在之前,我调用的图像点击

Javascript抛出一个错误,因为您试图获取一个未定义的属性。所以你应该处理未定义的情况。

替换:

if (album.route === this.props.location.state.week) 

与:

if (album.route === this.props.location?.state?.week) 

或:

if (this.props.location &&
    this.props.location.state &&
    album.route === this.props.location.state.week) 
 类似资料:
  • 本文向大家介绍jQuery读取XML文件内容的方法,包括了jQuery读取XML文件内容的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery读取XML文件内容的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的jQuery程序设计有所帮助。

  • 本文向大家介绍JAVA实现读取txt文件内容的方法,包括了JAVA实现读取txt文件内容的方法的使用技巧和注意事项,需要的朋友参考一下 通常,我们可以直接通过文件流来读取txt文件的内容,但有时可能会出现乱码!此时只要设置一下文件字符编码即可。 读取文件效果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Python解析并读取PDF文件内容的方法,包括了Python解析并读取PDF文件内容的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python解析并读取PDF文件内容的方法。分享给大家供大家参考,具体如下: 一、问题描述 利用python,去读取pdf文本内容。 二、效果 三、运行环境 python2.7 四、需要安装的库 五、实现源代码 代码1(win64) 代码

  • 本文向大家介绍android按行读取文件内容的几个方法,包括了android按行读取文件内容的几个方法的使用技巧和注意事项,需要的朋友参考一下 一、简单版 二、简洁版 三、用于长时间使用的apk,并且有规律性的数据 1,逐行读取文件内容 2,保存为文件

  • 我刚刚遇到了jar中的主类无法读取文件夹内容的问题。该类包含 这里sysout返回。 但当我尝试这样的东西时 为什么会这样,这两种方法对JAR内部内容的读取机制有什么区别。简单罐子里的东西

  • 本文向大家介绍对python pandas读取剪贴板内容的方法详解,包括了对python pandas读取剪贴板内容的方法详解的使用技巧和注意事项,需要的朋友参考一下 我使用的Python3.5,32版本win764位系统,pandas0.19版本,使用df=pd.read_clipboard()的时候读不到数据,百度查找解决方法,找到了一个比较靠谱的 打开site-packages\pandas