axios 将API数据拉至顺风卡并显示

chhqkbe1  于 2023-01-20  发布在  iOS
关注(0)|答案(1)|浏览(172)

有人能帮助我如何从这个控制台日志中获取所有数据吗?2我正在尝试在单独的顺风卡中显示所有细节,但不确定如何获取数据。3谢谢你的时间。

axios.get('https://api.url**.com/api/v1/content/publications',{
      headers: {
       'X-AUTH-TOKEN' : '22***8a8369317***********'
      }
    }
  )

.then(response => { 
   console.log (response.data)

它的工作,我得到的结果如下在控制台.

例如,当我尝试console.log (response.data.0.pdf)时,它给出错误“Parsing error:意外的标记,应为”“。
是否可以将出版物项下的所有数据都放入单独的卡片中?

<div class="max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700">
    <a href="#">
        <h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white">**{author}**</h5>
    </a>
    <p class="mb-3 font-normal text-gray-700 dark:text-gray-400">
**{pdf}**
**{id}**
**{etc}**</p>
    <a href="#" class="inline-flex items-center px-3 py-2 text-sm font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800">
        Read more
        <svg aria-hidden="true" class="w-4 h-4 ml-2 -mr-1" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>
    </a>
</div>

再次感谢你的时间。

sulc1iza

sulc1iza1#

从我所知道的来看,你似乎已经获取了所有的数据,因为响应是一个数组,你的问题似乎是如何保存和呈现响应数据。
1.创建一个本地状态变量来保存获取的数据。当这个状态被更新时,React将触发一个重新呈现,并将最新的状态包含在作用域中。

const [data, setData] = React.useState([]);

1.当组件挂载时,在组件生命周期方法/钩子(例如useEffect)中获取数据,并将状态更新排队以保存所获取的数据。

useEffect(() => {
  axios.get('https://api.url**.com/api/v1/content/publications',{
    headers: {
     'X-AUTH-TOKEN' : '22***8a8369317***********'
    }
  })
    .then(response => { 
      console.log(response.data);
      setData(response.data); // <-- save response to state
    });
}, []);

1.将本地状态呈现给JSX。数组通常被Map到JSX,例如Array.prototype.map。每个Map的元素对象都可以在Map回调中访问,例如item.author。不要忘记在最外层的Map元素上也包含一个key属性。React键被用作React协调过程的一部分,当它计算需要刷新到DOM的内容时。

{data.map(item => (
  <div
    key={item.id}
    class="max-w-sm p-6 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700"
  >
    <a href="#">
      <h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white">
        {item.author}
      </h5>
    </a>
    <p class="mb-3 font-normal text-gray-700 dark:text-gray-400">
      {item.pdf}
      {item.id}
      {item.etc}
    </p>
    <a
      href="#"
      class="inline-flex items-center px-3 py-2 text-sm font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"
    >
      Read more
      <svg
        aria-hidden="true"
        class="w-4 h-4 ml-2 -mr-1"
        fill="currentColor"
        viewBox="0 0 20 20"
        xmlns="http://www.w3.org/2000/svg"
      >
        <path
          fill-rule="evenodd"
          d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z"
          clip-rule="evenodd"
        />
      </svg>
    </a>
  </div>
))}

相关问题