reactjs - TypeError: u.indexOf 不是 Reactjs 和 Firebase 的函数
问题描述
在遵循本教程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 来查看是否是问题所在,但问题显然没有解决。任何指导都会很棒!
解决方案
我刚刚遇到了这个问题,最终我的“错误”是我试图使用数字 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}`);
我只是将第二个用引号括起来,使其成为一个字符串。希望能拯救某人的一天!
推荐阅读
- docker - 使用 ssl_verify_client 时,我收到“未发送所需的 SSL 证书”
- org-mode - 如何更改 Spacemacs 中的组织模式表背景颜色?
- javascript - Firebase 安全规则为 Firestore .where() 快照引发错误
- c - 无法理解程序头和节头中的偏移成员
- python - 在两个关键字之间打印单词
- reactjs - 元标记服务器端渲染
- c++ - 依赖名称的参数依赖查找
- c# - Rhino Mocks Stub 不调用 .WhenCalled 操作
- swift - 为什么在 Swift 中通过 Selector 调用时函数的默认参数不被尊重?
- database - 当数据类具有内部类时,房间数据库表创建错误