【发布时间】:2020-01-31 13:21:05
【问题描述】:
“我使用 react redux 调用了 externalapi,并且 store 加载了来自 API 的数据。但是当我尝试使用 map 函数时,会显示“无法读取未定义的属性 'map'”错误
{this.props.carDetails.array.map(([key,value])=>[key,value])}
carDetails is loaded with following dat
open_cars: Array(2)
0: {carid: 1, title: “bmw”} 1: {carid:2,title:”audi”}"
Here is my class
import React, { Component } from 'react'
import { connect } from 'react-redux'
import PropTypes from 'prop-types'
import { fetchVehicleDetails } from '../actions'
import Post from '../components/Post/Post.js'
class FetchRandomUser extends Component {
componentDidMount() {
this.props.fetchVehicleDetails()
}
render() {
return (
<div>
{this.props.carDetails.array.map(([key, value]) => [key, value])}
</div>
)
}
}
FetchRandomUser.propTypes = {
// carDetails:PropTypes.object,
fetchVehicleDetails: PropTypes.func
}
function mapStateToProps(state) {
return {
carDetails: state.carDetails
}
}
function loadData(store) {
return store.dispatch(fetchVehicleDetails())
}
export default {
loadData,
component: connect(mapStateToProps, { fetchVehicleDetails })((FetchRandomUser))
}
【问题讨论】:
-
请向我们展示您的代码。
-
您应该登录 props:
console.log(JSON.stringify(this.props,udefined,2))我想您可能正在尝试在响应数据设置之前访问它。 -
我可以看到数据进入 carDetails,但我无法循环并显示值。 CarDetails 有以下数据 open_cars: Array(2) 0: {carid: 1, title: “bmw”} 1: {carid:2,title:”audi”}"
标签: reactjs redux mapping store