TypeError: u.indexOf 不是 Reactjs 和 Firebase 的函数
Posted
技术标签:
【中文标题】TypeError: u.indexOf 不是 Reactjs 和 Firebase 的函数【英文标题】:TypeError: u.indexOf is not a function for Reactjs and Firebase 【发布时间】:2021-06-11 09:27:06 【问题描述】:我在学习本教程时遇到以下错误https://www.youtube.com/watch?v=QiTq5WrWoJw&t=8176s
我在将个人消息连接到我的 Firebase 应用程序时遇到问题。我在控制台中的错误集中在以下代码上。
我正在尝试在 firebase 内的单个“房间”内发送消息,因此每个房间内都有一组带有独特消息的房间。
function ChatInput(channelName, channelId)
const [input, setInput] = useState('');
const sendMessage = (e) =>
e.preventDefault(); //prevents refresh of the page
if(!channelId)
return false;
db.collection("rooms").doc(channelId).collection("messages").add(
message: input,
timestamp: firebase.firestore.FieldValue.serverTimestamp(),
user: 'Daniel Peters',
userImage:'https://wallpapercave.com/wp/j8Sd6Uv.jpg',
);
setInput('');
;
return (
<ChatInputContainer>
<form>
<input value=input onChange=(e) => setInput(e.target.value) placeholder= `Message #$channelName` />
<Button hidden type='submit' onClick=sendMessage>
SEND
</Button>
</form>
</ChatInputContainer>
)
export default ChatInput;
我尝试了不同版本的 redux 和 firebase 来查看是否是问题所在,但问题显然没有解决。任何指导都会很棒!
【问题讨论】:
你在代码中的任何地方写过something.indexOf...
吗?
在我的整个代码中,唯一有“.index”的东西在我的 serviceWorker.js 中,我写的任何东西都不是依赖项。
【参考方案1】:
我刚刚遇到了这个问题,最终我的“错误”是我试图使用数字 ID 作为 Firestore 文档键。
所以这个给出了u.indexOf is not a function
错误:
let ref = db.collection(`userPreferences/$userId/venues`).doc(venue.id);
这个工作在哪里:
let ref = db.collection(`userPreferences/$userId/venues`).doc(`$venue.id`);
我只是将第二个用引号括起来,使其成为一个字符串。 希望这可以挽救某人的一天!
【讨论】:
确实如此!角火也有同样的问题。通过使用反勾号解决。 +1以上是关于TypeError: u.indexOf 不是 Reactjs 和 Firebase 的函数的主要内容,如果未能解决你的问题,请参考以下文章
rxjs TypeError:this._complete不是函数
带有 AOT 的延迟加载模块 - TypeError: '' 从 NGINX 提供时不是一个函数
Angular modal service 错误 - TypeError: modal.element.modal 不是函数