2 回答

TA贡献1780条经验 获得超5个赞
子组件调用其父组件为响应事件而提供给它们的函数是正常的。然后,父级将根据需要使用新信息重新呈现。这使状态信息保持相当“高”。更多内容在文档中的Lifting State Up中。
在你的例子中
<div className="dropdown-content">
{entities.map(r => (
<div
className="dropdown-item text-xl hover:bg-gray-400 w-full"
key={r._id}
onClick={r => handleClick(r._id)}
>
{r.chem_name}
</div>
))}
</div>
问题是你正在用不同的(回调的参数)遮蔽r(回调的参数)。调用点击处理程序的第一个参数是一个事件对象。如果您不想要它,请不要接受该参数:mapronClick
<div className="dropdown-content">
{entities.map(r => (
<div
className="dropdown-item text-xl hover:bg-gray-400 w-full"
key={r._id}
onClick={() => handleClick(r._id)}
>
{r.chem_name}
</div>
))}
</div>
唯一的变化是用rin()替换onClick={() => handleClick(r._id)}。
添加回答
举报