在我的数据库中,我有不同的集合,可以与ID's
绑定,因此我可以显示一些event(s)
。但是一个集合似乎无法与其他集合相匹配。
一个集合称为事件,每个事件都包含unit
的属性:
我还有一个locks
(单位)的集合,其中包含相同的ObjectId
:
所以我的目标是能够将lock
(单位)与正确的事件相匹配。在我的React和Redux应用程序中,我有一个路径,我想在正确的lock
(单位)中显示正确的事件。在我的路由器中我有这个:
<AuthRoute path="/log/:lockId" component={LockDetails} />
然后在我的父母应该显示列表我有这个:
class LockDetails extends Component {
render() {
const lockId = this.props.match.params.lockId // Getting the ID from endpoint
const locks = this.props.locks || [] // All locks(units) from Redux store
const lock = locks.find(lock => { // Getting the correct lock form my params
return lock._id === lockId
})
然后把它传下来:
<LockLog lock={lock}/>
但是这里变得棘手。我想知道如何编写代码以获得正确的lock
(单位)正确的事件。
从父级获取lock
时,我也使用keyBy
库中的lodash
。
const keyedLocks = keyBy(lock, '_id')
const mappedEvents =
events.reverse().map((event, i) => {
var driver = event.driver ? keyedDrivers[event.driver] : false
var carrier = driver ? keyedCarriers[driver.carrier] : false
var customer = event.customer ? keyedCustomers[event.customer] : false
var lock = event.unit ? keyedLocks[event.unit] : false // Tried something here, but it didn't go so well....
return (
<div>
<EventItem
key={i}
event={event}
customer={customer}
carrier={carrier}
driver={driver}
lock={keyedLocks[event.unit] || { address: {} }}
/>
</div>
)
})
将我的其他端点的数据与我的lock
(单位)匹配,但与事件无关。所以我想要一些帮助,因为输出的唯一内容是:
“öppnadepå”之后没有lock
(单位)。
答案 0 :(得分:1)
您应该将lock包装到数组或对象中,例如:InvocationException: Program terminated with status: 1. stderr follows:
Error: /tmp/tmpznciMx: syntax error in line 7 near '{'