1

在我的 Slate.js 编辑器的自定义元素中,我有更新元素属性的逻辑:

    const changeProps = ({name, opts, defaultValue}: TemplateBlockProps) => {
        let path = ReactEditor.findPath(editor, element)
        let newProps = {name, opts, defaultValue}
        Transforms.setNodes(editor, newProps, {at:path})
    }

这个想法是您可以用来react-select在模板字段中创建和选择值。但是,当调用Transforms.setNodes更新 Slate DOM 中的节点属性时,React 给我一个无限循环错误,说它重新渲染太多次。逻辑本身类似于 Slate 网站上的嵌入示例。这里发生了什么?如何修复?

这里的代码沙盒: https ://codesandbox.io/s/compassionate-meadow-fbrne ?file=/src/App.tsx

4

0 回答 0