javascript - UncaughtTypeError products.map 不是函数

标签 javascript reactjs laravel axios

product.map 不是一个函数,我已经尝试了几乎所有来自网络的修复仍然不起作用。另外,我尝试过 console.log(response.data) 并且它响应成功

react 版本7.0

constructor () {
        super()
        this.state = {
          products: []
        };
      }
  componentDidMount(){
         axios.get('http://localhost:8000/api/v1/products/1')
         .then(response => {
           this.setState({ products: response.data });
         })
         .catch(function (error) {
           console.log(error);
         })
       }
  render(){
   var { products } = this.state;
    var merk = products.map(products =>  {products.merk} );

出现错误 products.map 不是 var merk=..... 的函数

谢谢。

控制台日志:

{success: true, data: Array(1), message: "Phone retrieved Successfully.."}
data: Array(1)
0: {id_product: 1, merk: "Xiaomi ", tipe: "Mi Note 10", soc_nama: "Qualcomm", soc_tipe: "Snapdragon 855+", …}
length: 1
__proto__: Array(0)
message: "Phone retrieved Successfully.."
success: true
__proto__: Object

最佳答案

products.map 不是函数,这意味着 products 不是数组

在 componentDidMount 的 API 中,您必须访问从服务器返回的数据。您访问 response.data,这意味着您只访问 XMLHttpRequest 的数据,而不是 API 的数据。

尝试console.log(response.data),看看哪一个是你想从服务器获取的数组数据

关于javascript - UncaughtTypeError products.map 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58775860/

相关文章:

parameters - 缺少带有 optional 参数的闭包参数

javascript - 使用 JavaScript 在 BODY 限制内移动 DIV

JavaScript:不确定 call 和 apply 与此函数中的参数对象有何关系

reactjs - 如何测试动态页面标题?

javascript - 点击网址下载文件

php - 将 REST API 中的 CRUD 限制为所有者

javascript - 如何将日期显示为选择标签(仅一周中的一天和一个月中的日期)

javascript - 滑动和淡出一个 div 元素

reactjs - react typescript : Configure router to allow username based URL's without conflicting with other routes

php - Laravel 模式 sql