我使用HOC和Redux的compose方法将组件包装在组件中。一个简单的例子:
const Textinput = class Textinput extends Component {
...
}
export default compose(
Theme,
Validator,
)(Textinput);
反应所呈现的结果是:
<theme>
<validator>
<textinput />
想象一下这个孩子的另一个组成部分:
<Textinput />
<span>Test</span>
<Select />
<br/>
Textinput和Select包含在带有HOC的Theme / Validator组件中。我想枚举这个组件中的每个元素:
const children = React.Children.map(this.props.children, (child) => {
}
但是:
如何知道渲染元素是否包含在特定组件中(如Validator或Theme)?
如何知道元素背后的组件是否是Select或Textinput(而不是Theme)的实例?
答案 0 :(得分:0)
另一个解决方案是在每个HOC对象上添加一个新属性,如:
$result