使用 Recoil 时声明 Atom 的位置重要吗?

Mac*_*ser 2 recoiljs

我正在查看文档的“入门”部分,但从示例中并不清楚声明 Atom 的文件。

您在应用程序中声明特定 Atom 的位置重要吗?如果两个组件订阅同一个 Atom,我是否可以在一个组件的文件或另一个组件的文件中声明该 Atom?或者我需要在两者中声明它吗?或者我需要在第三个文件中声明它吗?有最佳实践吗?

我的直觉告诉我,我应该在第三个文件中声明这些原子并将它们导入到需要它们的组件中,但我只是想确保我正确理解了这一点。

jse*_*ksn 5

通常,正确的方法是在一个模块中声明和导出反冲状态(原子/选择器/等),然后将它们导入到使用它们的其他组件模块中。如果您有一个需要不同方法的数据结构,这对您来说是显而易见的。

您可以研究这些主题中的 GitHub 存储库以查看示例并增强您的信心: