我将ReactQuill
默认导出与它的道具包装在一个功能组件QuillCustom.js
中。这是组件:
import ReactQuill, {Quill} from 'react-quill';
...
const modules = {...},
const formats = {...},
export default function QuillCustom({onChange, value}) {
return (
<ReactQuill
modules={modules}
formats={formats}
theme="snow"
onChange={onChange}
readOnly={false}
/>
);
}
我在页面组件中动态导入QuillCustom
组件并将道具传递给新QuillNoSSRWrapper
组件,如下所示:
const QuillNoSSRWrapper = dynamic(() => import('../Components/quillCustom'), {
ssr: false,
loading: () => <p>Loading...</p>,
})
export default function NewArticle(){
return (
<QuillNoSSRWrapper
value={value}
onChange={handleTextChange}
/>
)
}
现在,问题是,当我写一个字符时,文本编辑器失去了焦点!我试过了,useRef
但没有用。这只是同样的事情,失去了焦点。
我搜索了几个小时,发现这是因为QuillCustom.js
每次我输入内容时包装器组件都会重新呈现。如何防止这种重新渲染?