【问题标题】:Cannot assign to read only property 'displayName' of object无法分配给对象的只读属性“displayName”
【发布时间】:2022-01-27 08:34:44
【问题描述】:

我面临一个简单的问题,我收到错误“无法分配给对象的只读属性 'displayName'”,我正在添加一个设置,您可以在设置页面中更改显示名称。

 function Changename() {
        currentUser.displayName = setUserName
    }

我正在为这个项目使用 firebase,我找不到任何地方可以更改此读取属性以在 firebase 中读取和写入。

【问题讨论】:

    标签: javascript reactjs firebase-realtime-database firebase-authentication


    【解决方案1】:

    我的猜测是您的 currentUser 是对来自 Firebase 身份验证的 User/UserInfo object 的引用。在那种情况下,displayName property 确实是只读的。如果您想更改用户的显示名称,请致电updateProfile,如updating the current user's profile 上的文档中所示。

    【讨论】:

    • 好的,所以我试了一下,这是我的代码,``` function Changenames() { profileupdate(auth.currentUser, { displayName: "Jane Q. User" }) } ``` I使用了一些示例代码,当您单击按钮时,它应该将名称更新为字符串,而不是给我“TypeError: Object(...) is not a function” ???
    • 该方法被称为updateProfile,而不是profileupdate。检查我答案中的最后一个链接,以获取 v8 和 v9 语法的示例(它们完全不同)。
    • 是的,我今天早上才注意到,我终于让它工作了!抱歉打扰了。
    猜你喜欢
    • 2021-06-30
    • 2018-11-21
    • 1970-01-01
    • 2021-05-12
    • 2019-04-27
    • 2017-12-18
    • 2017-11-01
    • 2023-03-13
    • 2020-06-26
    相关资源
    最近更新 更多