Я пытаюсь реализовать разборный компонент.Я разработал его так, чтобы при нажатии кнопки появлялся блок динамического текста.Я сделал функциональный компонент и использовал теги в классе.Имя компонента, CustomAccordion.jsx, и использование этого компонента в Container.jsx
Я попытался создать кнопку и функцию для события onClick.
Часть CustonAccordion.jsx
const handleToggle = () : string =>{
let content = this.nextElementSibling;
if (content.style.maxHeight){
content.style.maxHeight = null;
}else{
content.style.maxHeight = content.scrollHeight +'px';
}
}
export default function CustomAccordion(props: PropType): React.Component<*> {
const { title, children } = props
return(
<div>
<AccordionButton onClick={() => this.handleToggle()}>{title}</AccordionButton>
<AccordionContent>
<p>{children}
</p>
</AccordionContent>
</div>
)
}
Часть вызова Container.jsx
<CustomAccordion title = {this.props.name}>
<p>This is the text passed to component.</p>
</CustomAccordion>
<br />
Это не показывает расширенный текст, и кажется, что событие щелчка не работает должным образом.Я очень новичок в реакции, думаю, что синтаксис может быть неправильным.