DraftJS getBlocksAsArray () возвращает массив массива в производстве, но только массив в dev (и работает) - PullRequest
2 голосов
/ 21 мая 2019

У меня есть следующий код:

 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

Нет необходимости говорить, что они выглядят очень по-разному и из одного и того же кода.Все в сборке работает, кроме этого (и это довольно большой проект с большим количеством движущихся частей, узловых модулей и т. Д.), Поэтому я не уверен, что может быть причиной этой конкретной проблемы.

В основном проблема заключается вте же входные данные и результаты. Я получаю другой вывод из 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 () имеет разные выходные данные (как на скриншоте выше)

1 Ответ

0 голосов
/ 04 июня 2019

Я обнаружил, что это было вызвано включением более новой версии immutablejs в мой package.json, чем то, что поддерживал draftjs - не уверен, почему это повлияет на draftjs, но похоже, что в процессе минимизации провода getBlocksAsArray () пересекались между внутренним пакетомв draftjs и тот, который я включил в мой пакет. json

...