此魔术如何工作,并且在隐藏的地方在源头中找到它?
这是React库中的常见模式,还是react-admin进行的特殊操作?
为什么他们不将资源道具注入其他组件?
cloneElement
来克隆子组件,然后此方法还允许注入道具。因此,例如在像Datagrid
这样的迭代器组件中,它们将映射到所有记录,然后为每个记录克隆子级,并为该迭代插入record
属性。这也是为什么某些组件(输入和字段组件)必须是迭代器组件的直接子代的原因,因此在它们之间不能再有其他组件(例如用于布局的Material-UI Grid
组件),因为这样会丢失注入的道具。