В моем приложении NextJS React я использую getInitialProps для извлечения данных, содержащих циклические ссылки. Метод getInitialProps сериализуется с использованием JSON.stringify, поэтому, когда задействованы циклические ссылки, NextJS выдает эта ошибка.
Решением является использование пакета json-stringify-безопасный, который работает следующим образом:
const stringify = require('json-stringify-safe');
const test = { a: 'hello' };
test.b = test;
const testWithoutCircularReferences = JSON.parse(stringify(test));
console.info(testWithoutCircularReferences);
// Output: {"a":"hello","b":"[Circular ~]"}
Чтобы объект можно было использовать в моем React, мне нужно отменить это, но этот широко используемый пакет, похоже, не имеет функции parse или чего-то похожего на то, чтобы отменить исходную строку, которую я сделал. Есть ли способ добиться этого?
@JordanRunning Спасибо за вклад. Я попробовал несколько разных пакетов, таких как flatted, но, к сожалению, это полностью меняет структуру объекта, что не очень хорошо при использовании propTypes в React.
Вы нашли решение этой проблемы?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Не с json-stringify-safe. Как следует из названия, он предоставляет только часть «stringify». Я предлагаю использовать другой модуль, предназначенный для двустороннего использования.