我用 jodit-react 做了一个文本编辑器。但是一旦我在文本输入中输入一个值,焦点就会被禁用。
{contentFromApi && (
<JoditEditor
value={contentFromApi}
config={config}
onChange={handleTextAreaChange}
/>
)}
当我这样做时,我遇到了我提到的问题。
功能:
const handleTextAreaChange = (newTextAreaValue) => {
setContentFromApi(newTextAreaValue);
};
状态和获取
const { data, error } = useSWR('..');
const [contentFromApi, setContentFromApi] = useState();
我试过的:
{React.useMemo(() => {
return (
<JoditEditor
value={contentFromApi}
config={config}
onChange={handleTextAreaChange}
/>
);
}, [])}
如果我这样做,“contentFromApi”数据不会放在文本编辑器中,因为它来自 api。如果我强制代码等待来自 api 的数据,我会得到 React 的“渲染过多”错误。
我想要的是,当第一次渲染组件时,来自 api 的文本数据出现在文本编辑器中,并且可以以健康的方式进行更改。我怎样才能做到这一点?