javascript - DraftJS getBlocksAsArray() 在生产中返回一个数组,但在开发中只返回一个数组(并且有效)

标签 javascript node.js reactjs draftjs draft-js-plugins

我有以下代码:

 const sampleMarkup = "<div>Insert Text Here</div>";

    const blocksFromHTML = convertFromHTML(sampleMarkup);
    let builtContentState = ContentState.createFromBlockArray(blocksFromHTML.contentBlocks);
    console.log("builtContentState", builtContentState.getBlocksAsArray());

在我的开发环境中,控制台日志如下所示:

enter image description here

在生产环境中它看起来像这样:

enter image description here

不用说,它们看起来非常不同,而且来自相同的代码。除此之外,构建中的所有内容都可以正常工作(这是一个相当大的项目,有很多移动部件、 Node 模块等)所以我不确定是什么导致了这个特定问题。

从根本上说,问题是针对相同的输入和结果,我从 getBlocksAsArray() 得到不同的输出;

const sampleMarkup = "<div>Insert Text Here</div>";

const blocksFromHTML = convertFromHTML(sampleMarkup);

let builtContentState = ContentState.createFromBlockArray(blocksFromHTML.contentBlocks);
console.log("builtContentState", builtContentState.getBlocksAsArray());

return <div>{JSON.stringify(builtContentState)}</div>

JSX 输出显示相同形状的对象,但 getBlocksAsArray() 具有不同的输出(根据上面的屏幕截图)

最佳答案

我发现这是由于我的 package.json 中包含的 immutablejs 版本比 draftjs 支持的版本更新 - 不确定为什么这会影响 draftjs 但看起来在缩小过程中 getBlocksAsArray() 线在内部包之间交叉在 draftjs 和我在 package.json 中包含的那个

关于javascript - DraftJS getBlocksAsArray() 在生产中返回一个数组,但在开发中只返回一个数组(并且有效),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56235597/

相关文章:

javascript - 如何在模型属性中查询同一模型的对象

node.js - Perl 在 Lambda 函数中不可用(运行时为 Node.js 8.10)

javascript - 函数参数属性的赋值 'a' Eslint

javascript - AWS Lambda 在终止前不会解决所有 promise

javascript - 如何检测浏览器何时阻止 iFrame

javascript - 使用 knockout.js 的可见性样式绑定(bind)失败

javascript - 如何正确自定义第三方React组件

javascript - 无法摆脱页面上的顶部和左侧空白

node.js - 为什么 redis SADD 不能使用数组作为 node.js 中的输入?

javascript - Starter "Hello World"React 项目给出空页面