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




