如何在react渲染功能中创建动态href?

IT技术 javascript reactjs
2021-04-27 00:14:14

我正在渲染一个帖子列表。对于每个帖子,我想呈现一个带有帖子 ID 的锚标记作为 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等等?

4个回答

使用字符串连接:

href={'/posts/' + post.id}

JSX 语法允许使用字符串或表达式({...})作为值。你不能混合两者。在表达式中,顾名思义,您可以使用任何 JavaScript 表达式来计算值。

您也可以使用 ES6 反引号语法

<a href={`/customer/${item._id}`} >{item.get('firstName')} {item.get('lastName')}</a>

有关 es6 模板文字的更多信息

除了菲利克斯的回答,

href={`/posts/${posts.id}`}

也会很好用。这很好,因为它都在一个字符串中。

你能试试这个吗?

在 post 中创建另一个项目,例如post.link,然后在将post发送到渲染函数之前为其分配链接

post.link = '/posts/+ id.toString();

所以,上面的渲染函数应该跟随。

return <li key={post.id}><a href={post.link}>{post.title}</a></li>