gpt4 book ai didi

relayjs - 如何在中继现代(实验)中共享用于创建和更新对象的相同表单?

转载 作者:行者123 更新时间:2023-12-04 13:32:17 25 4
gpt4 key购买 nike

我是中继新手,我正在尝试在并发模式下使用中继现代实验。我已经能够使用 Suspense 和 ErrorBoundary 很好地加载节点、边等。我现在正在处理用于创建和更新对象的表单。
我无法弄清楚如何为创建和编辑案例使用相同的表单,因为我无法在创建案例中加载片段——其中表单字段的初始值设置为默认值。在创建案例中,我没有任何东西可以传递给 useFragment。
如何创建符合表单所需片段定义的初始值?也许有一种我不知道的模式。我肯定错过了什么。我不想复制表单 UI 组件。

最佳答案

我认为在 React 中使用 Relay 存储来驱动表单没有意义,因为它真的很复杂:例如,在创建案例中,您需要将表单中的数据写入一些临时 ID,以便您使用识别存储中的节点,然后告诉片段容器读取该节点上的字段。然后,在创建或编辑情况下,在表单输入更改事件处理程序中,您将使用 commitLocalUpdate() 更新该节点。应用程序接口(interface)。这变得非常复杂。
一种更简单的表单编辑模式,无论是创建新节点还是编辑现有节点,都是在 React 组件( useState() )中使用状态驱动表单,然后在以下情况下使用 Relay 持久化(创建或更新)你完成了编辑。在编辑现有节点的情况下,您最终会从中继存储“ fork ”状态,使用表单修改它,然后将其持久化。然后,当突变完成时,您可以通过 updater 更新存储。函数或来自突变回复中的字段。

关于relayjs - 如何在中继现代(实验)中共享用于创建和更新对象的相同表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64343654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com