【问题标题】:printing objects onto view from axios get request on reactjs从axios打印对象到视图上获取reactjs的请求
【发布时间】:2017-10-01 02:34:34
【问题描述】:

我目前正在尝试从我从 axios get API on reactjs 返回的响应数据中打印对象的值。

我目前有 7 个对象,其中所有的值数组都通过 console.log 返回到 DOM。我尝试使用 .map 函数从对象中打印值,但不断收到未定义错误或 this.state.thisData.map 不是函数。

关于如何从不同对象打印各种值的任何建议?

module.exports = class ViewConsultTest extends React.Component {
 constructor(props) {
        super(props);


        this.state = {
            consultData: []

        }
    }


  componentDidMount() {
    var _this = this;
    this.serverRequest =
       axios.get('/api/Consults/viewConsultData')
        .then(function(results){
          console.log(results.data);
          _this.setState({
            consultData: results.data
          });
         })
  }



  render () {
    return(
        <div>
          <h3>Returning Users:</h3>
            {this.state.consultData.consultNotes.map(function(consult) {
          return (
            <div>{consult.noteText}</div>
          );
         })}
        </div>
    );
  }
}

screenshot of the objects i am trying to access

【问题讨论】:

  • 你可以分享代码吗?你确定你的类型是 this.state.thisData 是一个数组吗?
  • 用代码更新了问题
  • consultNotes 中的一个咨询对象是什么样的?
  • consultNotes:Array(1) 0:consultId:1 createdAt:“2017-09-28T14:38:32.000Z” createdBy:null id:1 noteText:“hello dolly”updatedAt:“2017- 09-28T15:03:31.000Z" 更新者:空

标签: reactjs


【解决方案1】:

将渲染方法更新为, 因为最初您没有获取数据并且渲染方法正在破坏其流程。

render () {
    var consultNotes= this.state.consultData.consultNotes;
    consultNotes = consultNotes ? consultNotes : [];
    return(
        <div>
          <h3>Returning Users:</h3>
            {consultNotes.map(function(consult) {
          return (
            <div>{consult.noteText}</div>
          );
         })}
        </div>
  );
 }

【讨论】:

  • 仍然没有打印任何东西,但没有“未定义”错误。如果有帮助,我将用我的 dom 上的对象的截图来更新我的问题
  • 这意味着你什么也得不到。打印控制台.log(this.state.consultData);让我知道
  • 控制台日志正在返回 dom 中的所有内容,但它似乎没有打印到我的视图中。
  • 你可以通过inspect元素检查dom吗?检查是否在html中添加?
  • “回访用户”下的html为空
猜你喜欢
  • 2020-07-17
  • 1970-01-01
  • 2018-07-07
  • 2021-08-14
  • 1970-01-01
  • 2019-05-20
  • 2019-04-05
  • 2018-05-31
相关资源
最近更新 更多