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
相关产品推荐
相关产品推荐

