首页 > 解决方案 > 使用 .map 函数时如何获取帖子的 ID (React/Firebase)

问题描述

当我在搜索组件中映射它们时,我试图获取帖子的 ID。这些帖子本质上是搜索的结果。

我的 firebase 数据库中的帖子看起来像这样。 邮政

我当然可以在搜索结果部分中映射这篇文章中的所有内容,如下所示:

<List
    inverted
    animated
    divided
    relaxed="very"
    style={{ width: '322.02px' }}
>
    {Object.keys(results).map(key => (
        <List.Item
            key={key}
            as={Link}
            to={`/post/${results[key].id}`}
        >
            <List.Content floated="right">
                <TimeAgo
                    datetime={new Date(results[key].createdAt)}
                    locale="en"
                    style={{ fontSize: '0.7em', marginTop: '-3px' }}
                />
            </List.Content>
            <Image
                avatar
                verticalAlign="middle"
                src={results[key].createdByPhotoURL}
                style={{ marginTop: '3px' }}
            />
            <List.Content>
                <List.Header>{results[key].createdBy}</List.Header>
                <List.Description
                    style={{
                        overflow: 'hidden',
                        whiteSpace: 'nowrap',
                        textOverflow: 'ellipsis',
                        marginTop: '4px',
                        maxWidth: '200px'
                    }}
                >
                    {results[key].message}
                </List.Description>
            </List.Content>
        </List.Item>
    ))}
</List>

但是我怎样才能得到身份证呢?我的计划是获取当前帖子 ID 并将其传递给另一个组件,然后该组件将显示整个帖子,因此我可以在将来进行编辑,等等...

是否有可能获得 ID 或有更好的解决方案?

我提前感谢答案!

标签: javascriptreactjsfirebasefirebase-realtime-databasereact-props

解决方案


推荐阅读