自定义React导航参数中的解析

2w3rbyxf  于 2022-12-23  发布在  React
关注(0)|答案(1)|浏览(152)

我用的是React导航和React原生。
我知道我可以自定义JSON.stringify如何将我的类序列化为JSON,我这样做是因为我的类的一些属性是day.js中的Dayjs对象,在Expo Go中会给予不可序列化警告。
我需要能够处理JSON.parse方面的问题。我知道JSON.parse使用了一个reviver函数,但是有没有办法在react-native解析我的参数时提供这样一个函数?
我真的不知道为什么react-navigate不能(或不)在内存中存储这些对象,为什么要序列化?

efzxgjgh

efzxgjgh1#

如果您在参数中传递不可序列化的值(如类示例、函数等),则会发生这种情况。在这种情况下,React Navigation会发出警告,因为这可能会破坏其他功能,如状态持久化、深度链接等。
在官方文档中,他们说你传递的参数是JSON可序列化的,这样,你就可以使用状态持久化,你的屏幕组件也会有正确的契约来实现深度链接。
您可以参考以下内容:https://reactnavigation.org/docs/troubleshooting/#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state

相关问题