我想在本次查询中将该企业的名称与 idBusiness 等同起来 我的意思是这样。
仅供引用,这是我第一次在这里被问到,所以我也不知道如何将一些代码加粗 -_- 我想在这行问什么
链接到={/admin/business/${item.business_id}
}>{businessId.business.filter(item => item._id === (item.business_id ))}
const allInquiries = useSelector(state => state.InquiryReducer);
const allBusiness = useSelector(state => state.BusinessReducer);
useEffect(() => {
dispatch(GetAllInquiries());
dispatch(GetAllBusiness()); }
我的问题在这里
const unReadInquiries = () => {
if (allInquiries.allInquiries !== undefined) {
return (
allInquiries.allInquiries.docs.filter(item => item.isRead === false).map(item =>
<Accordion>
<Card className="mr-3 mb-3">
<Card.Header className="bg-info">
<Link to={`/admin/business/${item.business_id}`}**{businessId.business.filter(item => item._id === (item.business_id))}**</Link>
</Card.Header>
<Accordion.Toggle as={Card.Body} eventKey={item._id}
style={{cursor: 'pointer'}}>
<img
src={require('../assets/images/Screenshot from 2019-10-24 11-20-53.png')}
alt="business-profile"
width="30"
height="30"
/>
<span className="text-uppercase font-weight-bold ml-3">
You have a new Inquiry from {item.name}
</span>
<Accordion.Collapse eventKey={item._id}>
<Card
className="mt-3" style={{cursor: 'auto'}}>
<Card.Body>
<p>{item.description}</p>
</Card.Body>
<Card.Footer>
<Link to="#">
<Button>Read More</Button>
</Link>
</Card.Footer>
</Card>
</Accordion.Collapse>
</Accordion.Toggle>
</Card>
</Accordion>
)
)
}
}
谢谢马斯塔
最佳答案
过滤器方法将返回数组
。使用find
而不是filter
<Link to={`/admin/business/${item.business_id}`}>
{
businessId.business.find(
_item => _item._id === item.business_id
)?.name
// If you're using Babel Optional Chaining (?.) you
// can access like this to prevent `undefined` error
// else, you have to do this
// businessId.business.find(
// _item => _item._id === item.business_id
// ) &&
// businessId.business.find(
// _item => _item._id === item.business_id
// ).name
}
</Link>
此外,您还在这里声明了两个 item
变量。我已将第二个重命名为 _item
。
关于javascript - ReactJs + Redux ---> 尝试调用企业名称,其中 item.business_id === BusinessId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60808320/