DraftJS getBlocksAsArray() returns 生产中的一个数组,但只是开发中的一个数组(并且有效)
DraftJS getBlocksAsArray() returns an array of an array in production but just an array in dev (and works)
我有以下代码:
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 中包含的 immutablejs 版本比 draftjs 支持的版本更新 - 不确定为什么这会影响 draftjs 但看起来在缩小过程中 getBlocksAsArray() 线被交叉了在 draftjs 的内部包和我在 package.json
中包含的那个之间
我有以下代码:
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 中包含的 immutablejs 版本比 draftjs 支持的版本更新 - 不确定为什么这会影响 draftjs 但看起来在缩小过程中 getBlocksAsArray() 线被交叉了在 draftjs 的内部包和我在 package.json
中包含的那个之间