You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CKEditor内容上传Firestore报TypeError: text is not a function如何解决

错误原因

你在提交处理函数中错误调用了状态变量:

  • 你通过useState定义状态时,返回的第一个参数text是存储富文本内容的普通变量,第二个参数setText才是用来更新状态的方法
  • 你在提交完成后写了text(""),把状态变量当成函数调用,直接触发了类型错误

修复方案

  1. 把text("")替换为setText("")
  2. 可选优化:Firestore的set方法是异步接口,建议增加async/await处理异步逻辑,避免保存失败时还错误清空编辑器内容

修复后的handleSubmit代码:

const handleSubmit = async (e) => {
  e.preventDefault();
  try {
    const userRef = firestore.collection("announcement").doc();
    // 等待写入操作完成再执行后续逻辑
    await userRef.set({
      text,
    });
    // 调用状态更新方法清空内容
    setText("");
    console.log(" saved");
  } catch (err) {
    console.log(err);
  }
};

内容的提问来源于stack exchange,提问作者JS3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:54:04