Я пытаюсь использовать компонент @ercpereda/react-native-accordion
пакета *1001* в моем проекте. Вот пример использования, который они дают в README:
const Header = ({ isOpen }) =>
<View style={{
paddingTop: 15,
paddingRight: 15,
paddingLeft: 15,
paddingBottom: 15,
borderBottomWidth: 1,
borderBottomColor: '#a9a9a9',
backgroundColor: '#f9f9f9',
}}>
<Text>{`${isOpen ? '-' : '+'} Click to Expand`}</Text>
</View>;
...
//inside render method
<Accordion
header={Header}
content={Content}
duration={300}
/>
и вот как я пытаюсь сделать Accordion
:
<View>
{
headers.map((item, i) => (
<Accordion
header={ this.generateHeader(item) }
content = { <Text>Hello</Text> }
/>
))
}
</View>
с headers
определяется так в моем методе рендеринга:
const headers = [
"Hotel",
"Arriving Flight",
"Departing Flight",
"Restaurants",
"Bars",
"Things to Do"
];
и метод generateHeader
примерно так:
generateHeader(item) {
return (
<Text>{ item }</Text>
)
}
Несмотря на то, что generateHeader
действительно является функцией, я продолжаю получать это сообщение об ошибке: TypeError: this.props.header is not a function (In 'this.props.header({ isOpen: this.state.is_visible })', 'this.props.header' is an instance of Object)
. Почему generateHeader
не распознается как функция?