我有以下代码:
const sampleMarkup = "<div>Insert Text Here</div>";
const blocksFromHTML = convertFromHTML(sampleMarkup);
let builtContentState = ContentState.createFromBlockArray(blocksFromHTML.contentBlocks);
console.log("builtContentState", builtContentState.getBlocksAsArray());
在我的开发环境中,控制台日志如下所示:
在生产环境中,它看起来像这样:
不用说,它们看起来和相同的代码非常不同。除此之外,构建中的所有内容都可以工作(这是一个相当大的项目,其中包含许多活动部件,节点模块等),因此我不确定是什么原因导致了此特定问题。
从根本上讲,问题是相同的输入和结果,我从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中包含了比draftjs支持的版本新的immutablejs版本所致-不确定为什么这会影响draftjs,但看起来像在缩小过程中,getBlocksAsArray()导线在draftjs的内部包和我包含在package.json中的那个