在外部使用我封装的 TabPane
时传的值是:
我封装的 Tabs
组件里在 React.Children.map
中返回:
大概浏览了下 Ant Design 和 rc-tabs
的源码并断点调试后推断应该是 React 的特性引起的,将 React.Children.map
改成 props.children.map
后果然好了!
在查看 React 源码后发现 React.Children
的方法会将原来的 key
值替换掉:
综上所述,需要遍历 props.children
并要保留外部传入的 key
值不变时使用 props.children.map
替代 React.Children.map
(其他方法同理)。