Есть класс App, в методе render я вставляю компонент Proposal:
{this.state.proposals.map(proposal => <Proposal name={proposal.name} key={proposal.id} id={proposal.id} handleEvent={this.handleEvent} votes={this.getProposalVoteCount(proposal.name)}/>)}
Вопрос заключается в votes {() => this.getProposalVoteCount(proposal.name)}
getProposalVoteCount() обьявлена в этом же классе, возвращает число, написана правильно.
Тем не менее число сразу не возвращается в props, а в консоль выходит ошибка:
index.js:1446 Warning: Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render. Or maybe you meant to call this function rather than return it.
В чем проблема?
Попрубуйте обернуть ваш вывод в методе render во фрагмент:
render() {
return (
<>
{this.state.proposals.map(proposal => (
<Proposal
name={proposal.name}
key={proposal.id}
id={proposal.id}
handleEvent={this.handleEvent}
votes={this.getProposalVoteCount(proposal.name)}
/>
))}
</>
);
}
Подробнее о фрагментах можно почитать тут.
Продвижение своими сайтами как стратегия роста и независимости