You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

React结合SyncedStore与JSONForms实现多人实时协作填单时数据无法同步问题求助

React结合SyncedStore与JSONForms实现多人实时协作填单时数据无法同步问题求助

大家好,我现在碰到个头疼的问题,想问问有没有朋友遇到过类似情况并解决了的。我正在用JSON Forms通过JSON描述生成表单,同时想要实现多人协作填写的功能——也就是多个用户能同时操作同一个表单,并且实时看到彼此的修改。

我用SyncedStore来做数据同步,代码大概是这样的:

const store = syncedStore({ formData: {} as object });

export default function JsonFormComponent() {
  const state = useSyncedStore(store);

  useEffect(() => {
    new WebsocketProvider(
      'ws://localhost:1234',
      'my-room',
      getYjsValue(store)
    );
  }, []);

  return (
    <JsonForms
      schema={schema}
      uischema={uiSchema}
      data={state.formData}
      renderers={materialRenderers}
      i18n={{locale: locale, translate: translation}}
      onChange={({data, errors}) => {
        Object.assign(state.formData, data);
      }}
    />
  );
}

但现在的问题是,不同用户之间的数据完全没法同步。我试过其他实时协作的例子(比如待办事项、代码编辑器)都能正常跑起来,WebSocket服务器也确实在运行。我在网上搜了一圈,没找到现成的解决方案或者类似案例,实在摸不着头脑问题出在哪。

有没有朋友解决过类似的问题?麻烦帮忙指点一下,非常感谢!

内容来源于stack exchange

火山引擎 最新活动