Cannot read property 'map' of undefined

报错:Cannot read property 'map' of undefine
  <ul className={styles.resul}>
            {
              this.state.isfalsepic.map((item) => {
                return (
                  <li className={styles.resli} key={item.id}>
                    <img
                      className={styles.resimg}
                      alt="example"
                      src={`${this.state.imgpath}media/${item.user_info_price}`}
                    />
                  </li>
                );
              })}
          </ul>

 

原因:调用map的对象是 undefined,初始化第一次渲染的时候异步数据返回之前list是undefined。


解决方法:对list作判断,异步ajax返回数据list取到值后再渲染组件。

 <ul className={styles.resul}>
            {this.state.isfalsepic &&
              this.state.isfalsepic.map((item) => {
                return (
                  <li className={styles.resli} key={item.id}>
                    <img
                      className={styles.resimg}
                      alt="example"
                      src={`${this.state.imgpath}media/${item.user_info_price}`}
                    />
                  </li>
                );
              })}
          </ul>

  

posted @ 2020-07-10 16:30  小魏code  阅读(7971)  评论(0编辑  收藏  举报