我有以下代码:
const sampleMarkup = "<div>Insert Text Here</div>";
const blocksFromHTML = convertFromHTML(sampleMarkup);
let builtContentState = ContentState.createFromBlockArray(blocksFromHTML.contentBlocks);
console.log("builtContentState", builtContentState.getBlocksAsArray());
在我的开发环境中,控制台日志如下所示:
在生产环境中它看起来像这样:
不用说,它们看起来非常不同,而且来自相同的代码。除此之外,构建中的所有内容都可以正常工作(这是一个相当大的项目,有很多移动部件、 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/