2

我有以下代码:

 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() 具有不同的输出(根据上面的屏幕截图)

4

1 回答 1

0

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

于 2019-06-04T04:21:28.240 回答