Javascript Reactjs在打印取出的数据时遇到问题

Javascript Reactjs在打印取出的数据时遇到问题,javascript,reactjs,Javascript,Reactjs,超级诺布问题。然而,我已经被这个问题困扰了足够长的时间了。我一直在搜索,发现了类似的问题,但未能解决。我希望有人能给我指出我做错了什么 我正在从API获取数据,并且我能够注销阵列,但是,当我尝试打印它时,我没有运气。一开始,我通过一个减速器,但后来意识到这并不理想。现在我正在尝试让它工作,然后我将把代码重构成一个功能组件 fetchOrders=async()=>{ 等待axios。获取更多信息http://localhost:4200/ordenes)。然后(res=>{ 这是我的国家({

超级诺布问题。然而,我已经被这个问题困扰了足够长的时间了。我一直在搜索,发现了类似的问题,但未能解决。我希望有人能给我指出我做错了什么

我正在从API获取数据,并且我能够注销阵列,但是,当我尝试打印它时,我没有运气。一开始,我通过一个减速器,但后来意识到这并不理想。现在我正在尝试让它工作,然后我将把代码重构成一个功能组件

fetchOrders=async()=>{
等待axios。获取更多信息http://localhost:4200/ordenes)。然后(res=>{
这是我的国家({
处方:res.data
})
})

}
错误的括号,您没有返回react元素,请尝试修复一个

renderOrder() {
    if (this.state.prescription.length === 0 ) {
        return ( 
            <h1>Loading...</h1>
        )
    } else {
        return (
            this.state.prescription.map((x, i) => (
                <li>
                    {console.log(x.patientName)}
                    <h1>{ x.patientName }</h1>
                </li>
        ))
    )}
}

你能分享组件的全部代码吗。具体来说,如何调用fetchOrders方法。谢谢。@ShobWitchittora刚刚更新了我的问题,告诉我如何调用fetchOrders。谢谢你的回复!您的API结构如何?我是说“ordenes”是什么样子?另外,不要使用forEach循环数据。改用map,这将创建一个数组,您的数据将可见。但至少使用forEach,您的console.log应该可以工作,如果一切正常,您应该可以看到正确的数据。@devserkan“Ordenes”是一个对象数组,例如:数组(18)0:{顺序:数组(3),_id:“5b2af38fb315eb5630a0bc78”,物理学家姓名:“Alejandro”,患者姓名:“Alex”,createdAt:“2018-06-21T00:38:39.376Z”,…}。每个对象包含patientName(字符串)、physicianName(字符串)、order(数组)、created_at和objectID。目前,我正在尝试至少打印出patientName,它不是嵌套的。那么您在console.log中看到了什么?你能分享API结构的全部或部分,而不是你得到了什么吗?嗯,我不太明白。你能详细解释一下吗?当你使用“(x,i)=>{
  • })时,它不会返回任何东西,但是如果你使用“(x,i)=>(
  • )时,它会返回
  • 元素。因此,您只获得控制台日志,而不是
  • sy您无法使用forEach获得li,console.log可以,但JSX元素不行。forEach不返回任何内容,它为每个循环执行某些操作。对不起,我的错误,已修复,tsk abi:)好的@OrkhanJafarov我认为您应该将您的async/Wait建议作为奖励添加到这个答案中,并删除另一个。另外,对于map:,我们不需要
    i
    ),只要一个元素就足够了。x或者其他什么。顺便说一句,不客气。您已经完成了大部分工作:)
    fetchOrders = async () => {
      const res = await axios.get('http://localhost:4200/ordenes');
      this.setState({
        prescription: res.data
      });
    }