Laravel Livewire 组件水化和脱水是什么意思?
What does it mean to hydrate and dehydrate a Laravel Livewire component?
有人可以指出适用于 Livewire 组件的“水合物”和“脱水”的定义吗?文档搜索中唯一命中的是指
Livewire will take care of hydrating and dehydrating the model between requests with the current, non-persisted data.
在生命周期挂钩部分,hydrate 和 dehydrate class 挂钩是自引用的。
hydrate: Runs on every request after the component is hydrated...
对类似问题的回答表明,水合作用是在对象实例化后用数据填充对象——这有点道理,但对象“脱水”会是什么?
我不知道除了钩子之外,文档中是否对生命周期有一个很好的定义。
我来解释一下我的理解。
所以在 Livewire 中基本上有两个级别的水化,一个是水化组件,另一个是水化组件的属性。
Livewire 需要在 php 和 javascript 之间来回发送数据才能正常工作。作为发送的消息的一部分,有关于组件的信息和关于属性的信息。但是要让 javascript 可以访问和使用信息,它需要采用正确的格式。
水合过程正在获取消息并将其值转换回 php,创建 Livewire 组件并创建该组件具有的任何属性。
脱水是相反的,它遍历所有属性,并将它们序列化,然后序列化组件并将所有这些打包成一条消息,发送到前端。
Caleb 在一篇博文中解决了这个问题。下面的 post link 也是从 Livewire 文档 link 编辑的,尽管我承认它只是 link 从文档。
我确实认为应该将此类信息放在首位,以便为其他人理解框架奠定基础。 需要额外脚注才能获得完整理解的文档,根据定义,不是文档,对吧!?!无论如何,重点是,我不会因为错过它而责怪任何人!
官方解释实际上与已经接受的答案 (@JoshHanley) 没有太大区别。尽管如此,我确实发现博客更清晰,解释得更好,将来可能会对其他人有所帮助。
我知道(根据 SO 指南)我应该重新表述答案以及 link 资源,但老实说,解释这样的框架没有捷径可走。恐怕你只能跳入深渊。
有人可以指出适用于 Livewire 组件的“水合物”和“脱水”的定义吗?文档搜索中唯一命中的是指
Livewire will take care of hydrating and dehydrating the model between requests with the current, non-persisted data.
在生命周期挂钩部分,hydrate 和 dehydrate class 挂钩是自引用的。
hydrate: Runs on every request after the component is hydrated...
对类似问题的回答表明,水合作用是在对象实例化后用数据填充对象——这有点道理,但对象“脱水”会是什么?
我不知道除了钩子之外,文档中是否对生命周期有一个很好的定义。
我来解释一下我的理解。
所以在 Livewire 中基本上有两个级别的水化,一个是水化组件,另一个是水化组件的属性。
Livewire 需要在 php 和 javascript 之间来回发送数据才能正常工作。作为发送的消息的一部分,有关于组件的信息和关于属性的信息。但是要让 javascript 可以访问和使用信息,它需要采用正确的格式。
水合过程正在获取消息并将其值转换回 php,创建 Livewire 组件并创建该组件具有的任何属性。
脱水是相反的,它遍历所有属性,并将它们序列化,然后序列化组件并将所有这些打包成一条消息,发送到前端。
Caleb 在一篇博文中解决了这个问题。下面的 post link 也是从 Livewire 文档 link 编辑的,尽管我承认它只是 link 从文档。
我确实认为应该将此类信息放在首位,以便为其他人理解框架奠定基础。 需要额外脚注才能获得完整理解的文档,根据定义,不是文档,对吧!?!无论如何,重点是,我不会因为错过它而责怪任何人!
官方解释实际上与已经接受的答案 (@JoshHanley) 没有太大区别。尽管如此,我确实发现博客更清晰,解释得更好,将来可能会对其他人有所帮助。
我知道(根据 SO 指南)我应该重新表述答案以及 link 资源,但老实说,解释这样的框架没有捷径可走。恐怕你只能跳入深渊。