Javascript 正在从this.props.children获取值

Javascript 正在从this.props.children获取值,javascript,reactjs,Javascript,Reactjs,如何从this.props.children获取值。记录了相同的输出后,我可以看到对象的值,但它嵌套在两个级别的react类中 React是否提供任何抽象方法来从此对象中选取值?还是我应该把它们循环起来,一个一个地挑出来 用例-我正在用自定义道具制作一个带有可自定义值的通用表。我的目的是检查中是否存在某些属性,并相应地更改表的行为(此行为的范围将在CustomTable类本身中定义) 这是我的定制桌- <CustomTable>{this.props.children}</Cu

如何从
this.props.children
获取值。记录了相同的输出后,我可以看到对象的值,但它嵌套在两个级别的react类中

React是否提供任何抽象方法来从此对象中选取值?还是我应该把它们循环起来,一个一个地挑出来

用例-我正在用自定义道具制作一个带有可自定义
值的通用表。我的目的是检查
中是否存在某些属性,并相应地更改表的行为(此行为的范围将在
CustomTable
类本身中定义)

这是我的定制桌-

<CustomTable>{this.props.children}</CustomTable>
{this.props.children}
这就是我打电话的方式

<CustomTable>
    <thead>....</thead>
    <tbody>
        <tr>
          <td customPropEnabled={true}> xyz</td>
        </tr>
    </tbody>
</CustomTable>

....
xyz
编辑

刚刚意识到,由于
结构,有两个嵌套级别。一个用于类型
,一个用于类型
。那么,是否有任何方法可以从该对象中提取组件值,或者将其循环是唯一的方法?

您可以使用API

Children提供了处理this.props.Children不透明数据结构的实用程序

您可以使用将
子项
转换为数组,并递归检查嵌套子项中是否存在
td
,且
customPropEnabled
属性设置为true

示例

const checkForCustomProp=children=>{
让childArray=React.Children.toArray(Children);
让孩子;
设hasCustomProp=false;
for(设i=0;i


是的,这应该可以。这种操作的开销是多少?我通常的情况是大约50-100行,每行6-7列。递归地使用它可能会导致成倍的操作。这仍然是一个资源密集型操作吗?@aseempadhyay如果不针对您的特定用例进行测量,很难说。我个人认为额外的计算可以忽略不计。我也觉得,如果底层api只是普通循环,那么在每个表中循环300-700次应该不会有问题。@aseempadhyay我更新了答案,这可能会快一点,因为它使用了一个简单的for循环,可以提前返回。