根据 url 从 firestore 检索数据

Posted

技术标签:

【中文标题】根据 url 从 firestore 检索数据【英文标题】:Retrieveing data from firestore based on url 【发布时间】:2020-06-22 04:46:39 【问题描述】:

我正在尝试使用基于 URL 内容从 firestore 获得的数据来呈现个人资料页面。 例如,当用户键入mywebsite/profile/someusername 时,我想从firestore 数据库中检索配置文件信息并呈现Profile 组件。我有一个保持应用程序状态的 redux 商店,我有 postReducerauthReducer 以及相应的操作。当我使用componentDidMount() 生命周期方法进行第一次渲染时,当用户访问他们自己的个人资料页面时,它会显示有关他们的信息和他们自己的数据。但是在 URL 上输入其他人的用户名时,我会收到 cannot read property 'props' of undefined 之类的错误。什么对我来说是个好策略?任何帮助,将不胜感激。 我的Profile 组件代码:

class Profile extends Component 
    //component state and render method are removed to make some space

    componentDidMount() 
        this.props.getUserPosts(this.props.profile.username);
    


const mapStateToProps = (state) => 
    return 
        auth: state.firebase.auth,
        profile: state.auth.profile,
        profileError: state.auth.profileError,
        userPosts: state.post.userPosts,
        userError: state.post.userError
    
;
const mapDispatchToProps = (dispatch) => 
    return 
        getUserPosts: (username) => 
            dispatch(getUserPosts(username));
        ,
        getProfile: (username) => 
            dispatch(getProfile(username));
        
    
;
export default connect(mapStateToProps, mapDispatchToProps)(Profile);

【问题讨论】:

“在 URL 上输入其他人的用户名时,我会遇到混乱的错误。”什么错误?请点击您问题下方的编辑链接以添加此信息。 【参考方案1】:

这在很大程度上取决于您如何在项目中设置 firebase,但您只需根据他们的文档访问 firestore。我为另一个问题写了一个小(尽可能小)的例子:Firebase listener with React Hooks

非常欢迎您从中汲取灵感。

【讨论】:

以上是关于根据 url 从 firestore 检索数据的主要内容,如果未能解决你的问题,请参考以下文章

需要帮助从 Firestore 中检索数据值

从 Firestore 和 setState 检索数据

从 Android 中的 Firestore 检索子集合数据

如何从 Firestore 中检索浮动?

Flutter Firestore:从 Firestore 中检索数据并在 Flutter 中显示为小部件

如何将数据从 Firestore 检索到我的列表