ref 相关问题

ref关键字导致参数通过引用传递,而不是通过值传递。通过引用传递的效果是方法中对参数的任何更改都会反映在调用方法中的基础参数变量中。引用参数的值始终与基础参数变量的值相同。

如何修复参考 Next.js 中的此 TypeScript 错误

此参考返回打字稿错误,我不知道如何修复它。该代码可以在本地环境中运行,但在部署过程中出现错误 const [quill, setQuill] = useState 此参考返回打字稿错误,我不知道如何修复它。该代码可以在本地环境中运行,但在部署过程中出现错误 const [quill, setQuill] = useState<any>(null) const wrapperRef = useCallback(async (wrapper: any) => { if (typeof window !== 'undefined') { if (wrapper === null) return wrapper.innerHTML = '' const editor = document.createElement('div') wrapper.append(editor) const Quill = (await import('quill')).default const QuillCursors = (await import('quill-cursors')).default Quill.register('modules/cursors', QuillCursors) const q = new Quill(editor, { theme: 'snow', modules: { toolbar: TOOLBAR_OPTIONS, cursors: { transformOnTextChange: true, }, }, }) setQuill(q) } }, []) <div id="container" className="max-w-[800px]" ref={wrapperRef} /> 这是错误消息 Type (wrapper: any) => Promise<void> is not assignable to type LegacyRef<HTMLDivElement> | undefined. Type (wrapper: any) => Promise<void> is not assignable to type (instance: HTMLDivElement | null) => void | (() => VoidOrUndefinedOnly). Type Promise<void> is not assignable to type void | (() => VoidOrUndefinedOnly) 问题是你的wrapperRef函数是一个异步函数,这意味着它返回一个promise。 React 并不期望 ref 回调返回 Promise。相反,它需要一个返回 void(或不返回任何内容)的简单函数。 简单来说,你的函数正在做一些 React 在此上下文中无法理解的事情。要解决此问题,您需要确保wrapperRef函数不返回promise。我建议尝试这个: import React, { useState, useCallback } from 'react'; import Quill from 'quill'; import QuillCursors from 'quill-cursors'; const TOOLBAR_OPTIONS = [...]; // define your toolbar options here const MyComponent: React.FC = () => { const [quill, setQuill] = useState<any>(null); const wrapperRef = useCallback((wrapper: HTMLDivElement | null) => { if (typeof window !== 'undefined' && wrapper !== null) { // Create an async function to handle the Quill setup const initializeQuill = async () => { wrapper.innerHTML = ''; const editor = document.createElement('div'); wrapper.append(editor); const Quill = (await import('quill')).default; const QuillCursors = (await import('quill-cursors')).default; Quill.register('modules/cursors', QuillCursors); const q = new Quill(editor, { theme: 'snow', modules: { toolbar: TOOLBAR_OPTIONS, cursors: { transformOnTextChange: true, }, }, }); setQuill(q); }; // Call the async function without awaiting it initializeQuill(); } }, []); return <div id="container" className="max-w-[800px]" ref={wrapperRef} />; }; export default MyComponent;

回答 1 投票 0

React - 使用 Ref 获取 DOM 元素 TEXT 值

这应该是一个简单的操作,但我在网上不断找到的所有内容都是如何使用反应引用获取“输入值”。 我需要知道如何从 DOM 元素获取 TEXT 值,例如 你好 这应该是一个简单的操作,但我在网上不断找到的所有内容都是如何使用反应引用获取“输入值”。 我需要知道如何从 DOM 元素获取 TEXT 值,例如 <p>hello world</p> 并获得“你好世界” 我已正确设置 ref,并且可以使用 refName.current 记录完整的 html 标签。 为了获取文本,我尝试了 refName.value、refName.current.value refName.text、refName.current.text()、refName.innerText.. 等 有人能指出我正确的方向吗? 谢谢。 textContent 优于 innerText: ref?.current?.textContent 您可以通过 ref.current.innerText 访问文本 例如(沙箱): const ref = useRef(); useEffect(() => { console.log(ref.current?.innerText || "ref not set!"); }, []); return <p ref={ref}>Hello world</p>; 请记住,第一次渲染时未设置 ref.current - 因此它一开始是未定义的。

回答 2 投票 0


具有引用依赖关系的 useMemo 和 useEffect 之间的区别

在React中,useEffect和useMemo都有一个dependency参数。 我天真地认为它们的工作原理相同:每当依赖项参数中的值发生变化时,我认为 useEffect 或 u...

回答 1 投票 0

在 React 中将 ref 传递给元素组件*会做什么?

我一直认为 React 中的 ref 是单向引用。换句话说,我想如果我这样做: const SomeComponent = () => { const ref = useRef(); 返回 abc...

回答 1 投票 0

为什么 ref 在条件渲染中没有获取值

我有一个有条件渲染的组件,我通过React的forwardRef将引用传递给它,但是当条件满足并且组件渲染时,引用仍然没有任何值, 我应该怎么办? 这里...

回答 1 投票 0

获取深层嵌套对象时无法读取 null/undefined 属性

我目前正在从 api 获取一个对象到我的 vue 前端。这个对象有很多属性,甚至是深层嵌套的属性。例如项目对象: { 编号: 1, 标题:“我的项目”, ...

回答 1 投票 0

如何通过react-hook-form使用Material UI Select?

我使用 Material UI 和 React Hook Form 在 React 中构建了一个表单。我正在尝试创建一个用作选择输入的自定义 TextField 元素。我希望它是一个不受控制的组件......

回答 11 投票 0

函数组件不能给出引用。 MUI v5 自动完成

我正在尝试在 Autocomplete MUI v5 中使用 ListboxComponent 道具的自定义组件,但我收到此错误: 函数组件不能被指定引用。尝试访问此引用将失败。迪...

回答 1 投票 0

如何从 git 中删除与过滤器匹配的远程引用?

从 GitLab 迁移到 GitHub 时,在执行 git push --mirror 后,我注意到 git ls-remote --refs (在 GitHub 上的目标存储库中)显示了一些以 refs/

回答 1 投票 0

Vue3 参考没有刷新?

我需要一些帮助来理解裁判的工作方式。我很确定我犯了一些明显的基本错误,但我就是不明白。有人可以解释一下吗? 在脚本设置中我得到了一些道具...

回答 1 投票 0

F# 通过引用传递

我正在尝试在 F# 中通过引用传递。在C#中,使用ref和out关键字非常容易,但在F#中似乎没那么简单。我刚刚读过这个:http://davefancher.com/2014/03/24/passing-

回答 4 投票 0

为什么迭代器方法不能采用“ref”或“out”参数?

我今天早些时候尝试过这个: 公共接口 IFoo { IEnumerable GetItems_A( ref int SomethingElse ); IEnumerable GetItems_B( ref int SomethingElse ); } 公开课...

回答 6 投票 0

尽管内存地址相同,Rust Arc 指针比较还是失败

在 Rust 中,我试图创建一组可以在某种目标/依赖链中相互关联的对象。我想我可以使用一个特征,并为每个对象分配一个“目标”......

回答 1 投票 0

什么时候建议不要使用 Eigen::Ref 作为参数?

我目前正在编写很多接受块和表达式作为输入的函数。我通常发现使用 Refs 更容易,因为它们简单、轻量级,而且也很容易确保...

回答 1 投票 0

Vue 3:将引用值绑定到对象属性

我遇到了一个问题,我试图使用新的组合 API 将对象属性绑定到 Vue 中的引用。我希望模板在设置引用后使用新值重新渲染

回答 1 投票 0

如何在第一个组件加载时获取加载的引用数组

我在更新 vue 3 项目中的反应式对象时遇到一些问题,我正在创建一个 google.maps.marker.AdvancedMarkerElement 数组,我正在创建这样的数组 -> 本地化.forEach((

回答 1 投票 0

PowerReadFriendlyName 报告错误的缓冲区长度

我正在制作一个 C# 程序,通过 PInvoking Win32 函数 PowerReadFriendlyName 从电源管理方案的 GUID 中检索电源管理方案的名称。然而,该函数似乎报告错误的缓冲区

回答 1 投票 0

ref 在 HTMLAttributes 中不可用<HTMLDivElement>

我有一个可重用的包装组件,如下所示: 从“react”导入{FC,HTMLAttributes}; const 包装器: FC> = ({ 孩子们, 班级名称...

回答 1 投票 0

React 上有 2 个参考文献的问题

我有 1 个来自 useForm 的参考 - 注册 const {注册,错误} = useForm({ reValidateMode:“onChange”, 模式:“onChange”, 原生验证:假 }); <

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.