Итак, у меня есть компонент без состояния, который использует 'React.Children.map ()', который я хочу превратить в компонент класса, чтобы добавить ему состояние, но так как я не могу (о котором я знаю) передать {children}как свойство больше, я получаю сообщение о том, что «дети» не определены.Как определить дочерние элементы?
Исходный компонент без сохранения состояния:
import React from 'react';
const Tabs = ({ children }) => (
<div className="tabsPanel" onClick={clickHandler}>
{React.Children.map(children, child =>
React.cloneElement(child, { clickHandler: () => console.log('clicked') })
)}
</div>
);
export default Tabs;
компонент класса:
import React, { Component } from 'react';
class Tabs extends Component {
render() {
return (
<div className="tabsPanel">
{React.Children.map(children, child =>
React.cloneElement(child, {
clickHandler: () => console.log('clicked', child.props.children),
})
)}
</div>
);
}
}
export default Tabs;