首页 > 解决方案 > ReactJS:映射数据未显示在视图中

问题描述

我有一个函数previewData()用于映射数据数组,如下所示(在渲染方法中):

const {formData} = this.state;

function previewData() {

    formData.map((item, key) => {
        console.log("item", item.question);
        return (<div>{item.question}</div>)
    })
}

returnrender 方法的语句中,我正在使用这样的函数:

<div className="form_preview polaroid unchange_div">
    {previewData()}
</div>

这就是我将数据推送到我的数组中的方式(在渲染方法之外):

addFormData() {

    const {formQuestion} = this.props;

    const formRawData = {
      'question': formQuestion,
      'type': this.state.qtype
    }

    this.state.formData.push(formRawData);

    this.setState({
      success: true
    })
  }

我可以看到我的控制台也正确记录了日志,但我的视图中没有填充这些值。这里似乎有什么问题?

标签: javascriptreactjsmapping

解决方案


您需要确保previewData()返回映射结果,以便您的映射<div>元素数组可以在polaroid容器内呈现:

function previewData() {

     /* Add return before formData.map */
      return formData.map((item, key) => {
        console.log("item", item.question);
        return (
          <div>{item.question}</div>
        )
      })
    }

推荐阅读