我们正在构建一个 RN 应用程序 (RN0.37),我们遇到了一个问题,当应用程序运行时,我们得到一个“ TypeError: JSON.stringify cannot serialize cyclic structures
”。
API 响应没有任何相关性发生变化,问题最近消失了,但在擦除/重建时重新出现(由不相关的问题触发)。
我怀疑正在使用的几个包:“<code>react-native-router-flux”和“ react-native-permissions
”,但我无法在应用程序中找到任何相关的东西。
目前我对“react-native-router-flux”的怀疑主要基于这篇文章:https ://github.com/aksonov/react-native-router-flux/issues/363
我对“react-native-permissions”的怀疑主要基于这样一个事实,即在这个项目中包含这个包的时间是可疑的,并且似乎与这个错误的出现相吻合——尽管我无法证明绝对肯定。
我拥有的唯一额外线索是 JSON.stringify 错误似乎总是以警告列表开头。他们都读到“出于性能原因重用此合成事件。如果您看到此内容,则表示您正在访问已发布/无效合成事件的属性。此设置为 null。如果您必须保留原始合成事件,使用event.persist()
。有关更多信息,请参阅https://facebook.github.io/react/docs/events.html#event-pooling。” 列表如下(始终按相同顺序):nativeEvent、type、target、currentTarget、eventPhase、bubbles、cancelable、timeStamp、defaultPrevented、isTrusted 和 touchHistory。
以下是我的 package.json:
"dependencies": {
"blueimp-md5": "2.5.0",
"moment": "2.16.0",
"phone-formatter": "0.0.2",
"react": "15.3.2",
"react-native": "0.37.0",
"react-native-asset-library-to-base64": "1.0.1",
"react-native-aws3": "0.0.3",
"react-native-button": "1.7.1",
"react-native-cached-image": "1.2.2",
"react-native-camera-kit": "4.0.1",
"react-native-camera-roll-picker": "1.1.9",
"react-native-contacts": "0.5.2",
"react-native-fbsdk": "0.4.0",
"react-native-fetch-blob": "0.10.0",
"react-native-fs": "2.0.1-rc.2",
"react-native-geocoder": "0.4.5",
"react-native-image-crop-picker": "0.10.5",
"react-native-image-resizer": "0.0.12",
"react-native-nav": "1.1.4",
"react-native-permissions": "0.2.5",
"react-native-photo-view": "1.2.0",
"react-native-router-flux": "3.37.0",
"react-native-stripe": "1.2.1",
"react-native-swipe-list-view": "0.3.1",
"react-redux": "4.4.6",
"redux": "3.6.0",
"redux-storage": "4.1.1",
"redux-storage-engine-reactnativeasyncstorage": "1.0.2",
"underscore": "1.8.3"
}