我正在使用codemirror和react-codemirror2创建代码编辑器,我使用受控组件一次,但它显示了两个编辑器,当我在第一个编辑器上键入时,它反映在第二个编辑器上
代码:
import "codemirror/lib/codemirror.css";
import "codemirror/theme/eclipse.css";
import "codemirror/mode/javascript/javascript";
import { Controlled as REditor } from "react-codemirror2";
const CreatePolicy = () => {
const [value, setValue] = useState<string>("");
return (
<div className="create-policy-container">
<REditor
className="code-mirror-wrapper"
onBeforeChange={(editor, data, value) => {
setValue(value);
}}
value={value}
options={{
lineWrapping: true,
lint: true,
mode: "css",
theme: "eclipse",
lineNumbers: true,
}}
/>
</div>
);
};
export default CreatePolicy;
我也遇到了同样的问题。我解决这个问题的方法是从 Index.js 文件中删除 ReactStrictMode 组件。虽然我不知道为什么会这样,因为我只做了它所说的here
我也犯过同样的错误。然后就像 Pablo Clavijo 所说,我删除了 React.RestricMode 并且可以正常工作。