Как создать динамический href в функции react render?
Я делаю список сообщений. Для каждого сообщения я хотел бы отобразить тег привязки с идентификатором post как часть строки href.
render: function(){
return (
<ul>
{
this.props.posts.map(function(post){
return <li key={post.id}><a href='/posts/'{post.id}>{post.title}</a></li>
})
}
</ul>
);
как мне это сделать, чтобы каждый пост имел href из /posts/1,/posts/2 etc?
3 ответов:
использовать конкатенацию строк:
href={'/posts/' + post.id}синтаксис JSX позволяет использовать строки или выражения
({...})в качестве значений. Вы не можете смешать оба. Внутри выражения вы можете, как следует из названия, использовать любое выражение JavaScript для вычисления значения.
вы можете использовать синтаксис ES6 backtick тоже
<a href={`/customer/${item._id}`} >{item.get('firstName')} {item.get('lastName')}</a>
не могли бы вы попробовать это ?
создайте еще один элемент в сообщении, например пост.ссылка затем назначьте ссылку на него перед отправкой post функции render.
post.link = '/posts/+ id.toString();таким образом, вышеуказанная функция рендеринга должна быть следующей.
return <li key={post.id}><a href={post.link}>{post.title}</a></li>
Comments