react遍历以后没插入到标签里面去

ListItems已经在state声明了
下面的代码是在成功拿到接口数据success里面调用的

that.state.ListItems = that.state.dataList.map(item => (
          <div className="list" key={item.goodsID}>
            <img src={item.goodsListImg} alt="" />
            <div className="detail">
              <div className="title">{item.goodsName}</div>
              <div className="price">
                ¥<span>{item.price}</span>
              </div>
            </div>
          </div>
        ));
        console.log(that.state.ListItems);//这个地方打印出来数据了,下图

图片描述
render里面

  render() {
    return (
      <div className="hot">
        <div id="mescroll" className="mescroll">
          {this.state.ListItems}
        </div>
      </div>
    );
  }

不知道我这种动态渲染的方式对不对啊

阅读 2.1k
3 个回答

state的作为dom标签,在react里面唯一产生改变的函数就是this.setState, 才可以发生渲染

完全不对,请去看文档进行学习,不要自己进行发明创造

 <div className="hot">
    <div id="mescroll" className="mescroll">
      {this.state.ListItems ? this.creatDom(this.state.ListItems):null}
    </div>
  </div>

creatDom(data){
    return (
      data.map((item) => {
        return (
            <div className="list" key={item.goodsID}>
                <img src={item.goodsListImg} alt="" />
                <div className="detail">
                  <div className="title">{item.goodsName}</div>
                  <div className="price">
                    ¥<span>{item.price}</span>
                  </div>
                </div>
              </div>
        )
      })
    )
}
推荐问题