切片无法正常工作

切片无法正常工作

在我的构造函数中,我有:

constructor(props) {
  super(props)
  this.state = {
    showCount: 4,
    event: [],
    customer: [],
    lock: []
  }
}


在我的componentDidMount中,我有这个:

componentDidMount() {
  const { data } = this.props
  axios.get('http://34.248.65.20:3000/customers').then(res => {
    this.setState({
      res,
      data: res.data
    })
  })

  axios.get('http://34.248.65.20:3000/events').then(res => {
    this.setState({
      res,
      data: res.data
    })
  })

  axios.get('http://34.248.65.20:3000/locks').then(res => {
    this.setState({
      res,
      data: res.data
    })
  })
}


在我的渲染中,我有这个:

const { event, customer, lock, data } = this.state
const keyedCustomers = _.keyBy(customer, '_id')
const keyedLocks = _.keyBy(lock, '_id')

const events = event
  .slice(0, this.state.showCount)
  .map((event, i) =>
    <EventItem
      key={i}
      event={event}
      customer={keyedCustomers[event.customer] || {}}
      lock={keyedLocks[event.lock] || {}}
    />
  )
console.log(events) // A lot of object


这是对象events
javascript - 切片无法正常工作| react-LMLPHP

但是我没有在我的应用程序中看到任何事件(一个事件基本上是一个li)。而且我认为这将默认显示我的四个事件(showCount: 4)。因为我想要一个按钮,以后将显示所有按钮。

谁能告诉我我在做什么错?

干杯!

最佳答案

如果您的res{event: []}不同,则应该执行以下操作:

 axios.get('http://34.248.65.20:3000/events').then(res => {
    this.setState({
      ...
      event: res.data
    })
  })

关于javascript - 切片无法正常工作| react ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45414322/

10-09 22:56