#javascript #typescript
Вопрос:
У меня есть код сценария следующего типа:-
export default class SingleNews extends React.Componentlt;INews, {}gt; { public render(): React.ReactElementlt;INewsgt; { return ( lt;gt; {this.props.featured ? this.props.recentNews.map(post =gt; ( lt;a className={styles.singleNews} href={post.link} key={post.Title} gt; lt;div className={styles.singleNews__image} style={{ backgroundImage: `url(${post.image})` }} /gt; lt;div className={styles.singleNews__content}gt; lt;div className={styles.singleNews__content__info}gt; lt;span className={styles.singleNews__content__info__label}gt;{post.Featured}lt;/spangt; lt;span className={styles.singleNews__content__info__date}gt; {post.date} lt;/spangt;lt;/divgt; lt;/divgt; lt;div className={styles.singleNews__content}gt; lt;div className={styles.singleNews__content__info}gt; lt;h2 className={styles.singleNews__content__info__title}gt; {post.Title} lt;/h2gt; {post.likes ? ( lt;div className={styles.singleNews__content__info__reactions} gt; lt;span className={ styles.singleNews__content__info__reactions__likes } gt; lt;Icon iconName='Like' /gt; {post.likes} lt;/spangt; lt;spangt; lt;Icon iconName='ActionCenter' /gt; {post.coments} lt;/spangt; lt;/divgt; ) : null} lt;/divgt; lt;/divgt; lt;/agt; ))
но мне нужно проверить текущий индекс и соответственно отобразить другой html .. если я попробую это сделать, я получу эту ошибку:-
export default class SingleNews extends React.Componentlt;INews, {}gt; { public render(): React.ReactElementlt;INewsgt; { return ( lt;gt; {this.props.featured ? this.props.recentNews.map((post,index) =gt; ( if(index=0)
я получил «ожидаемое выражение» на if
? есть какие-нибудь советы?
Комментарии:
1. Вы используете синтаксис типа:
Array.map(v=gt; ({value here}))
, который возвращает значение напрямую. Вместо этого вы должны использовать синтаксис :Array.map(v=gt; { some statements here and then; return {value here};}
2. @Эльдар, можешь дать еще один совет .. как я могу изменить свой код?
Ответ №1:
Проблема в том, что у вас есть оператор в качестве тела для вашей функции стрелки (что раньше было нормально).
Так как теперь вам нужно добавить if для проверки индекса, вам нужен блок:
{this.props.featured ? this.props.recentNews.map((post,index) =gt; { // lt;-- this if(index=0) { // etc } return lt;agt; .... lt;/agt; } }