Remix中如何管理状态?



我用了很长一段时间的Remix,但仍然不能弄清楚状态管理。如何在组件/路由之间共享数据?如何存储可被任何组件访问的数据?并且应该能够更新来自任何子组件的数据。

首先,请记住Remix仍然是React,所以您使用的所有状态管理技术仍然可以与Remix一起工作。

话虽如此,Remix使用加载器来管理服务器端状态。你可以从当前路由中的任何组件通过useLoaderData访问它。你不仅限于路由文件。

此外,通过useMatches,您可以访问从根到叶的嵌套路由中的所有加载器数据。

改变应该通过动作来完成,所以与其尝试改变本地数据,不如POST到你的动作更新,让Remix重新验证你的路由,以确保你的本地数据是同步的。

纯客户端状态,如如果一个对话框是可见的,等仍然可以用useState等管理

最新更新