【发布时间】:2020-05-15 15:26:04
【问题描述】:
应用程序完全运行,但控制台返回这个
完整的错误是:遇到两个具有相同密钥的孩子,1。密钥应该是唯一的,以便组件在更新时保持其身份。非唯一键可能会导致子项重复和/或省略 - 该行为不受支持,并且可能会在未来版本中更改。
我的后端 laravel返回:
return $customers = DB :: table ('customers')
-> rightJoin ('debts', 'customers.id', '=', 'debts.customer')
-> join ('companies', 'companies.id', '=', 'debts.company')
-> join ('addresses', 'addresses.id', '=', 'customers.address')
-> join ('cities', 'cities.id', '=', 'addresses.city')
-> join ('states', 'states.id', '=', 'cities.state')
-> select ('customers. *', 'debts.debt', 'companies.company', 'addresses.streetName', 'addresses.buildingNumber', 'cities.city', 'states.uf')
-> get ();
我的前端 ReactJs:
import axios from 'axios'
import React, { Component } from 'react'
import { Redirect } from 'react-router';
import { Link } from 'react-router-dom'
class CustomersList extends Component {
constructor (props) {
super(props)
this.state = {
customers: []
}
}
componentDidMount () {
axios.get('/api/customers').then(response => {
this.setState({
customers: response.data
})
})
}
render () {
const { customers } = this.state
customers.sort((a,b) => (a.name > b.name) ? 1 : ((b.name > a.name) ? -1 : 0))
console.log(customers)
return (
<div className='container py-4'>
<div className='row justify-content-center'>
<div className='col-md-8'>
<div className='card'>
<div className='card-header'>
<h4 className='list-inline-item'>All customers</h4>
</div>
<div className='card-body'>
<ul className='list-group list-group-flush'>
{customers.map(customer => (
<Link
className='list-group-item list-group-item-action d-flex justify-content-between align-items-center'
to={`/customer/${customer.id}`}
key={customer.id}
>
{customer.name}
</Link>
))}
</ul>
</div>
</div>
</div>
</div>
</div>
)
}
}
export default CustomersList ```
【问题讨论】:
标签: javascript php reactjs laravel laravel-6