draft-js convertToRaw方法不起作用

时间:2016-10-26 13:37:42

标签: reactjs immutable.js draftjs

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

convertToRaw(contentState)

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

  

immutable.js:1421 Uncaught TypeError:无法读取属性'条目'未定义的

但是,只有在我的内容中使用了提及时才会出现此错误。它与纯文本和表情符号内容一起使用。请帮忙。

2 个答案:

答案 0 :(得分:3)

您使用的是draft-js plugins editor吗?虽然我在开始时在editorStatecontentState之间感到困惑,但它对我来说很好。当我尝试convertToRaw(editorState)时,会出现 错误弹出 ,确保您执行的操作如下:

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

答案 1 :(得分:0)

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

当我们通过ajax调用发布数据时,我们必须使用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));