draft-js convertToRaw 方法不起作用

draft-js convertToRaw method is not working

我用draft-js-plugins。我在编辑器中同时使用了表情符号和提及插件。当我使用时,

convertToRaw(contentState)

要将我的内容数据保存到数据库中,它会显示一条错误消息。

immutable.js:1421 Uncaught TypeError: Cannot read property 'entries' of undefined

但是只有当我在我的内容中使用提及时才会出现这个错误。它适用于纯文本和表情符号内容。请帮忙。

您在使用 draft-js plugins editor 吗?它对我来说很好用,尽管一开始我在 editorStatecontentState 之间感到困惑。这些 错误弹出 当我尝试做 convertToRaw(editorState) 确保你正在做这样的事情:

_onChange (editorState) {
  this.setState({
    editorState,
  });
  const contentState = editorState.getCurrentContent();
  console.log(convertToRaw(contentState));
}

经过多次使用,我找到了原因。在这里,我试图将不可变的内容保存到数据库中。并尝试通过 Ajax 调用将该数据传递到后端。

当我们通过 ajax 调用 post 数据时,我们必须使用 JSON.stringifyapplication/json; charset=utf-8 如下。

 $.ajax({
        url: '/calendar/event/add',
        method: "POST",
        dataType: "JSON",
        data: JSON.stringify(postData),
        contentType: "application/json; charset=utf-8",
    }).done(function (data, text) {
        if(data.status.code == 200){
            console.log("Success");
        }
    }.bind(this));