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

React Query在React TinyMCE编辑器失焦后重复发送请求问题咨询

React Query 结合 React TinyMCE 时的重复请求问题

我近期尝试用 React Query 结合 React TinyMCE 开发自定义组件,发现一个异常现象:每次 TinyMCE 编辑器的文本框失焦时,React Query 都会重复发送请求,尽管组件并没有出现需要重渲染的变更。

点击编辑器后再点击外部就会触发请求:
触发重复请求的动图

我已制作了可复现的项目,每次聚焦并失焦 TinyMCE 文本框,都会触发 React Query 的请求。我用 useEffect 做了验证,它的表现正常,仅执行一次。

示例代码如下:

import React, { useEffect } from "react";
import {
  QueryClient,
  QueryClientProvider,
  useQuery
} from "@tanstack/react-query";
import ReactDOM from "react-dom/client";
import { Editor } from "@tinymce/tinymce-react";

export default function MyEditor() {
  return (
    <div>
      <Editor />
    </div>
  );
}

const fetchData = async () => {
  console.log("Fetching data", new Date());

  return await fetch("https://jsonplaceholder.typicode.com/posts/1").then((d) =>
    d.json()
  );
};

function App() {
  useQuery(["api"], fetchData);

  useEffect(() => {
    console.log("This is going to be logged only once");
  }, []);

  return (
    <form>
      <h1>My editor</h1>
      <MyEditor />
    </form>
  );
}

const queryClient = new QueryClient();

ReactDOM.createRoot(document.getElementById("container")).render(
  <QueryClientProvider client={queryClient}>
    <App />
  </QueryClientProvider>
);

依赖版本:

{
  "dependencies": {
    "@tanstack/react-query": "4.3.9",
    "@tinymce/tinymce-react": "4.2.0",
    "react": "18.2.0",
    "react-dom": "18.2.0"
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 02:25:40