繁体   English   中英

TypeError: 无法分配给 object 的只读属性 '#<object> ' Redux Tool Kit Slice for Firebase Storage REACT NATIVE<div id="text_translate"><p> 您好,我在上传到 firebase 存储后尝试设置我的 downloadUrl,但我似乎无法让它与 Redux 工具包一起使用。 我有一个解决方案,但我宁愿以正确的方式使用它,但我似乎无法弄清楚它是否愿意得到一些反馈</p><pre> incrementByAmount: (state, action) =&gt; { state.value += action.payload },</pre><p> 这是<strong>文档</strong>示例。 我知道数字与对象的工作方式不同,<strong>但如果他们可以像这样改变它,为什么我不能呢?</strong></p><pre> setImageUrl: (state, action: PayloadAction&lt;string&gt;) =&gt; { state.imageUrl = action.payload; },</pre><p> <strong>这就是我所说的</strong></p><pre> const downloadUrl = await FirebaseStorageService.uploadFile( photo, setUploadProgress ); dispatch(setImageUrl(downloadUrl));</pre><p> 这是错误</p><pre>ossible Unhandled Promise Rejection (id: 5): TypeError: Cannot assign to read only property 'imageUrl' of object '#&lt;Object&gt;' TypeError: Cannot assign to read only property 'imageUrl' of object '#&lt;Object&gt;'</pre><p> 提前谢谢你 我在其他地方看到过类似的问题,但我觉得答案不清楚。 我可以直接或不使用 RTK 更改 object 的属性吗?</p></div></object>

[英]TypeError: Cannot assign to read only property '' of object '#<Object>' Redux Tool Kit Slice for Firebase Storage REACT NATIVE

您好,我在上传到 firebase 存储后尝试设置我的 downloadUrl,但我似乎无法让它与 Redux 工具包一起使用。 我有一个解决方案,但我宁愿以正确的方式使用它,但我似乎无法弄清楚它是否愿意得到一些反馈

    incrementByAmount: (state, action) => {
  state.value += action.payload
},

这是文档示例。 我知道数字与对象的工作方式不同,但如果他们可以像这样改变它,为什么我不能呢?

setImageUrl: (state, action: PayloadAction<string>) => {
  state.imageUrl = action.payload;
},

这就是我所说的


    const downloadUrl = await FirebaseStorageService.uploadFile(
      photo,
      setUploadProgress
    );

    dispatch(setImageUrl(downloadUrl));

这是错误

ossible Unhandled Promise Rejection (id: 5):
TypeError: Cannot assign to read only property 'imageUrl' of object '#<Object>'
TypeError: Cannot assign to read only property 'imageUrl' of object '#<Object>'

提前谢谢你 我在其他地方看到过类似的问题,但我觉得答案不清楚。 我可以直接或不使用 RTK 更改 object 的属性吗?

我已经以这种方式解决了它,但我觉得它似乎不是正确的方式,或者它并没有真正向我解释来自.Net 的 RTK 这样做只是感觉很奇怪

    const downloadUrl = await FirebaseStorageService.uploadFile(
      photo,
      setUploadProgress
    );
reduxExpense.imageUrl = downloadUrl;

    dispatch(setExpense(reduxExpense));

这样做我什至看不到使用 redux 的任何意义我可以这样做

费用.ImageUrl = 下载网址;

然后完全不使用 RTK 直接发布我的费用。 也许我想太多了,这是一个好的方法吗?

firebase:无法分配给 object 的只读属性“displayName”'#<object> '<div id="text_translate"><p> 我在我的 ReactJS 项目上使用@reduxjs/toolkit: ^1.7.1 、 firebase: 9.6.1和 firebase firebase-tools: 10.0.1 。 我试图创建一个 function 用户可以在其中更新他们的姓名和头像照片。</p><p> 为此,我使用了updateProfile() function。 但是,每当我执行更新 function 时,它都会引发错误<strong>Cannot assign to read only property 'displayName' of object '#&lt;Object&gt;'</strong> 。</p><p> 我注意到一件有趣的事情是,如果我只更新 photoURL 属性,它仍然Cannot assign to read only property 'displayName' of object '#&lt;Object&gt;'</p><p> <a href="https://github.com/mdibuhossain/Front-end-ReactJS-with-Firebase-template" rel="nofollow noreferrer">Project_Link_Github</a></p><p> 代码: useFirebase.js : </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-js lang-js prettyprint-override"> import { getAuth, signInWithPopup, GoogleAuthProvider, createUserWithEmailAndPassword, signInWithEmailAndPassword, signOut, onAuthStateChanged, updateProfile } from 'firebase/auth'; import { getDownloadURL, getStorage, ref, uploadBytes } from 'firebase/storage'; import { useEffect, useState } from 'react'; import { useDispatch } from 'react-redux'; import { useLocation, useNavigate } from 'react-router-dom'; import { setIsLoading } from '../features/isloadingSlice'; import { login, logout } from '../features/userSlice'; import initAuth from '../Firebase/initAuth'; initAuth(); export const useFirebase = () =&gt; { const auth = getAuth(); const location = useLocation(); const navigate = useNavigate(); const dispatch = useDispatch(); const [updateCount, setUpdateCount] = useState(0); const storage = getStorage(); const Redirect = () =&gt; { console.log(location); const destination = location?.state?.from?.pathname || '/'; navigate(destination); } const uploadAvatar = async (file) =&gt; { const fileRef = ref(storage, 'avatar/' + auth?.currentUser?.uid + '.png'); dispatch(setIsLoading(true)); const snapshot = await uploadBytes(fileRef, file); const photoURL = await getDownloadURL(fileRef); updateProfile(auth.currentUser, { photoURL }).then(() =&gt; { setUpdateCount(updateCount + 1); }).catch(e =&gt; console.log(e.message)) dispatch(setIsLoading(false)); console.log(snapshot); } const userRegister = (name, photoURL, email, password) =&gt; { dispatch(setIsLoading(true)); createUserWithEmailAndPassword(auth, email, password).then(result =&gt; { updateProfile(auth.currentUser, { displayName: name, photoURL }).then(() =&gt; { }) dispatch(login({ displayName: name, email, photoURL })); Redirect(); }).catch(error =&gt; alert(error.message)).finally(() =&gt; dispatch(setIsLoading(false))) } useEffect(() =&gt; { const unsubscribe = onAuthStateChanged(auth, (result) =&gt; { if (result) { dispatch(login({...result })) } else { dispatch(login({})) } dispatch(setIsLoading(false)); }) return () =&gt; unsubscribe; }, [updateCount, auth]) return { logIn, logOut, Redirect, uploadAvatar, userRegister, } }</pre></div></div><p></p><p> <a href="https://i.stack.imgur.com/6CJQm.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/6CJQm.png" alt="在此处输入图像描述"></a></p><p> 我不知道这个<strong>displayName</strong>属性有什么问题,但我以前的项目工作正常。</p><p> <strong>有人可以帮我吗?</strong></p></div></object>

[英]firebase: Cannot assign to read only property 'displayName' of object '#<Object>'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 firebase:无法分配给 object 的只读属性“displayName”'#<object> '<div id="text_translate"><p> 我在我的 ReactJS 项目上使用@reduxjs/toolkit: ^1.7.1 、 firebase: 9.6.1和 firebase firebase-tools: 10.0.1 。 我试图创建一个 function 用户可以在其中更新他们的姓名和头像照片。</p><p> 为此,我使用了updateProfile() function。 但是,每当我执行更新 function 时,它都会引发错误<strong>Cannot assign to read only property 'displayName' of object '#&lt;Object&gt;'</strong> 。</p><p> 我注意到一件有趣的事情是,如果我只更新 photoURL 属性,它仍然Cannot assign to read only property 'displayName' of object '#&lt;Object&gt;'</p><p> <a href="https://github.com/mdibuhossain/Front-end-ReactJS-with-Firebase-template" rel="nofollow noreferrer">Project_Link_Github</a></p><p> 代码: useFirebase.js : </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-js lang-js prettyprint-override"> import { getAuth, signInWithPopup, GoogleAuthProvider, createUserWithEmailAndPassword, signInWithEmailAndPassword, signOut, onAuthStateChanged, updateProfile } from 'firebase/auth'; import { getDownloadURL, getStorage, ref, uploadBytes } from 'firebase/storage'; import { useEffect, useState } from 'react'; import { useDispatch } from 'react-redux'; import { useLocation, useNavigate } from 'react-router-dom'; import { setIsLoading } from '../features/isloadingSlice'; import { login, logout } from '../features/userSlice'; import initAuth from '../Firebase/initAuth'; initAuth(); export const useFirebase = () =&gt; { const auth = getAuth(); const location = useLocation(); const navigate = useNavigate(); const dispatch = useDispatch(); const [updateCount, setUpdateCount] = useState(0); const storage = getStorage(); const Redirect = () =&gt; { console.log(location); const destination = location?.state?.from?.pathname || '/'; navigate(destination); } const uploadAvatar = async (file) =&gt; { const fileRef = ref(storage, 'avatar/' + auth?.currentUser?.uid + '.png'); dispatch(setIsLoading(true)); const snapshot = await uploadBytes(fileRef, file); const photoURL = await getDownloadURL(fileRef); updateProfile(auth.currentUser, { photoURL }).then(() =&gt; { setUpdateCount(updateCount + 1); }).catch(e =&gt; console.log(e.message)) dispatch(setIsLoading(false)); console.log(snapshot); } const userRegister = (name, photoURL, email, password) =&gt; { dispatch(setIsLoading(true)); createUserWithEmailAndPassword(auth, email, password).then(result =&gt; { updateProfile(auth.currentUser, { displayName: name, photoURL }).then(() =&gt; { }) dispatch(login({ displayName: name, email, photoURL })); Redirect(); }).catch(error =&gt; alert(error.message)).finally(() =&gt; dispatch(setIsLoading(false))) } useEffect(() =&gt; { const unsubscribe = onAuthStateChanged(auth, (result) =&gt; { if (result) { dispatch(login({...result })) } else { dispatch(login({})) } dispatch(setIsLoading(false)); }) return () =&gt; unsubscribe; }, [updateCount, auth]) return { logIn, logOut, Redirect, uploadAvatar, userRegister, } }</pre></div></div><p></p><p> <a href="https://i.stack.imgur.com/6CJQm.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/6CJQm.png" alt="在此处输入图像描述"></a></p><p> 我不知道这个<strong>displayName</strong>属性有什么问题,但我以前的项目工作正常。</p><p> <strong>有人可以帮我吗?</strong></p></div></object> React Native Firebase undefined 不是 object(评估 'this.storage.setItem') Firebase Cloud Functions - 在制作 Telegram Bot 时出现“TypeError:无法读取未定义的属性‘slice’” 类型错误:无法读取未定义的属性“长度”- Firebase React Native 获取 Firebase 数据只返回“object Object”? TypeError: undefined is not an object (evaluating '_storage.default.put') while using AWS Amplify Storage in Expo 反应本机 无法读取未定义 React-Native Firebase React-native-fetch-blob 的属性“DocumentDir” Firebase,类型错误:无法读取未定义的属性“错误” 未捕获的类型错误:无法添加属性 0,object 不可扩展 || 使用 Firestore,Redux,创建 AsyncThunk × TypeError:无法解构'Object(...)(...)'的属性'currentUser',因为它是未定义的
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM